@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Inter", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-3xl:48rem;--container-4xl:56rem;--container-6xl:72rem;--container-7xl:80rem;--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: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-black:900;--ease-out:cubic-bezier(0, 0, .2, 1);--aspect-video:16 / 9;--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,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.top-6{top:calc(var(--spacing) * 6)}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-6{left:calc(var(--spacing) * 6)}.left-auto{left:auto}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.order-first{order:-9999}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-6{margin-top:calc(var(--spacing) * 6)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-video{aspect-ratio:var(--aspect-video)}.h-2{height:calc(var(--spacing) * 2)}.h-4{height:calc(var(--spacing) * 4)}.h-10{height:calc(var(--spacing) * 10)}.h-\[1\.55rem\]{height:1.55rem}.h-\[34\.1rem\]{height:34.1rem}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-0{width:calc(var(--spacing) * 0)}.w-2{width:calc(var(--spacing) * 2)}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-10{width:calc(var(--spacing) * 10)}.w-\[1\.55rem\]{width:1.55rem}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[12rem\]{max-width:12rem}.max-w-\[13ch\]{max-width:13ch}.max-w-\[38rem\]{max-width:38rem}.max-w-\[46\.2rem\]{max-width:46.2rem}.max-w-\[50\.05rem\]{max-width:50.05rem}.max-w-\[54rem\]{max-width:54rem}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.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}.appearance-none{appearance:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-16{gap:calc(var(--spacing) * 16)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-16>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 16) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 16) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.justify-self-start{justify-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\[0\.5rem\]{border-radius:.5rem}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.border-white\/12{border-color:#ffffff1f}@supports (color:color-mix(in lab,red,red)){.border-white\/12{border-color:color-mix(in oklab,var(--color-white) 12%,transparent)}}.border-white\/28{border-color:#ffffff47}@supports (color:color-mix(in lab,red,red)){.border-white\/28{border-color:color-mix(in oklab,var(--color-white) 28%,transparent)}}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\/20{background-color:color-mix(in oklab,var(--color-black) 20%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}.bg-transparent{background-color:#0000}.bg-white\/\[0\.02\]{background-color:#ffffff05}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.02\]{background-color:color-mix(in oklab,var(--color-white) 2%,transparent)}}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-black{--tw-gradient-from:var(--color-black);--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-black\/22{--tw-gradient-via:#00000038}@supports (color:color-mix(in lab,red,red)){.via-black\/22{--tw-gradient-via:color-mix(in oklab, var(--color-black) 22%, transparent)}}.via-black\/22{--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-cover{object-fit:cover}.object-top{object-position:top}.p-0{padding:calc(var(--spacing) * 0)}.p-5{padding:calc(var(--spacing) * 5)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pb-14{padding-bottom:calc(var(--spacing) * 14)}.pl-6{padding-left:calc(var(--spacing) * 6)}.text-left{text-align:left}.text-right{text-align:right}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.72rem\]{font-size:.72rem}.text-\[0\.82rem\]{font-size:.82rem}.text-\[0\.92rem\]{font-size:.92rem}.text-\[0\.93rem\]{font-size:.93rem}.text-\[0\.95rem\]{font-size:.95rem}.text-\[0\.98rem\]{font-size:.98rem}.text-\[1\.02rem\]{font-size:1.02rem}.text-\[1\.4rem\]{font-size:1.4rem}.text-\[1\.8rem\]{font-size:1.8rem}.text-\[1\.15rem\]{font-size:1.15rem}.text-\[1\.35rem\]{font-size:1.35rem}.text-\[1\.55rem\]{font-size:1.55rem}.text-\[1\.65rem\]{font-size:1.65rem}.text-\[1\.95rem\]{font-size:1.95rem}.text-\[1rem\]{font-size:1rem}.text-\[2\.1rem\]{font-size:2.1rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[22vw\]{font-size:22vw}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-\[0\.9\]{--tw-leading:.9;line-height:.9}.leading-\[0\.82\]{--tw-leading:.82;line-height:.82}.leading-\[0\.88\]{--tw-leading:.88;line-height:.88}.leading-\[0\.92\]{--tw-leading:.92;line-height:.92}.leading-\[0\.95\]{--tw-leading:.95;line-height:.95}.leading-\[0\.98\]{--tw-leading:.98;line-height:.98}.leading-\[1\.68\]{--tw-leading:1.68;line-height:1.68}.leading-none{--tw-leading:1;line-height:1}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.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\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[-0\.04em\]{--tw-tracking:-.04em;letter-spacing:-.04em}.tracking-\[-0\.05em\]{--tw-tracking:-.05em;letter-spacing:-.05em}.tracking-\[-0\.06em\]{--tw-tracking:-.06em;letter-spacing:-.06em}.tracking-\[-0\.08em\]{--tw-tracking:-.08em;letter-spacing:-.08em}.tracking-\[0\.01em\]{--tw-tracking:.01em;letter-spacing:.01em}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-\[0\.24em\]{--tw-tracking:.24em;letter-spacing:.24em}.tracking-\[0\.28em\]{--tw-tracking:.28em;letter-spacing:.28em}.tracking-\[0\.32em\]{--tw-tracking:.32em;letter-spacing:.32em}.tracking-\[0\.34em\]{--tw-tracking:.34em;letter-spacing:.34em}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-90{opacity:.9}.opacity-100{opacity:1}.mix-blend-difference{mix-blend-mode:difference}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\]{transition-property:left;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[top\]{transition-property:top;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;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-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-\[cubic-bezier\(0\.22\,1\,0\.36\,1\)\]{--tw-ease:cubic-bezier(.22,1,.36,1);transition-timing-function:cubic-bezier(.22,1,.36,1)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media(hover:hover){.hover\:text-white:hover{color:var(--color-white)}.hover\:opacity-80:hover{opacity:.8}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@media(min-width:40rem){.sm\:top-8{top:calc(var(--spacing) * 8)}.sm\:left-10{left:calc(var(--spacing) * 10)}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:max-w-none{max-width:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.sm\:items-end{align-items:flex-end}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:gap-5{gap:calc(var(--spacing) * 5)}.sm\:gap-8{gap:calc(var(--spacing) * 8)}:where(.sm\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:space-y-14>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 14) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 14) * calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:space-y-20>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 20) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 20) * calc(1 - var(--tw-space-y-reverse)))}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:pt-0{padding-top:calc(var(--spacing) * 0)}.sm\:pt-5{padding-top:calc(var(--spacing) * 5)}.sm\:pt-6{padding-top:calc(var(--spacing) * 6)}.sm\:pt-10{padding-top:calc(var(--spacing) * 10)}.sm\:pt-11{padding-top:calc(var(--spacing) * 11)}.sm\:pt-12{padding-top:calc(var(--spacing) * 12)}.sm\:pt-14{padding-top:calc(var(--spacing) * 14)}.sm\:pr-10{padding-right:calc(var(--spacing) * 10)}.sm\:pb-20{padding-bottom:calc(var(--spacing) * 20)}.sm\:pl-0{padding-left:calc(var(--spacing) * 0)}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.sm\:text-\[0\.84rem\]{font-size:.84rem}.sm\:text-\[0\.96rem\]{font-size:.96rem}.sm\:text-\[0\.97rem\]{font-size:.97rem}.sm\:text-\[0\.98rem\]{font-size:.98rem}.sm\:text-\[1\.3rem\]{font-size:1.3rem}.sm\:text-\[1\.05rem\]{font-size:1.05rem}.sm\:text-\[1\.06rem\]{font-size:1.06rem}.sm\:text-\[1\.08rem\]{font-size:1.08rem}.sm\:text-\[1\.65rem\]{font-size:1.65rem}.sm\:text-\[2\.5rem\]{font-size:2.5rem}.sm\:text-\[2\.8rem\]{font-size:2.8rem}.sm\:text-\[2rem\]{font-size:2rem}.sm\:text-\[11px\]{font-size:11px}.sm\:text-\[12px\]{font-size:12px}.sm\:text-\[13px\]{font-size:13px}.sm\:text-\[18vw\]{font-size:18vw}}@media(min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:64rem){.lg\:absolute{position:absolute}.lg\:fixed{position:fixed}.lg\:top-7{top:calc(var(--spacing) * 7)}.lg\:right-auto{right:auto}.lg\:left-0{left:calc(var(--spacing) * 0)}.lg\:left-16{left:calc(var(--spacing) * 16)}.lg\:order-none{order:0}.lg\:mt-auto{margin-top:auto}.lg\:ml-auto{margin-left:auto}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-\[10rem_1fr\]{grid-template-columns:10rem 1fr}.lg\:grid-cols-\[minmax\(0\,1\.08fr\)_minmax\(12\.25rem\,0\.78fr\)\]{grid-template-columns:minmax(0,1.08fr) minmax(12.25rem,.78fr)}.lg\:grid-cols-\[minmax\(0\,1\.34fr\)_minmax\(15\.5rem\,0\.5fr\)\]{grid-template-columns:minmax(0,1.34fr) minmax(15.5rem,.5fr)}.lg\:grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.lg\:grid-cols-\[minmax\(0\,15rem\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,15rem) minmax(0,1fr)}.lg\:items-center{align-items:center}.lg\:items-end{align-items:flex-end}.lg\:gap-4{gap:calc(var(--spacing) * 4)}.lg\:gap-6{gap:calc(var(--spacing) * 6)}.lg\:gap-8{gap:calc(var(--spacing) * 8)}.lg\:gap-16{gap:calc(var(--spacing) * 16)}.lg\:justify-self-end{justify-self:flex-end}.lg\:pt-8{padding-top:calc(var(--spacing) * 8)}.lg\:pr-12{padding-right:calc(var(--spacing) * 12)}.lg\:pl-\[calc\(15rem\+2rem\)\]{padding-left:17rem}.lg\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.lg\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.lg\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.lg\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.lg\:text-\[0\.92rem\]{font-size:.92rem}.lg\:text-\[1\.8rem\]{font-size:1.8rem}.lg\:text-\[2\.7rem\]{font-size:2.7rem}.lg\:text-\[4\.6rem\]{font-size:4.6rem}.lg\:text-\[10rem\]{font-size:10rem}}@media(min-width:80rem){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:text-\[3\.05rem\]{font-size:3.05rem}.xl\:text-\[13rem\]{font-size:13rem}}}:root{--color-bg:#050505;--color-fg:#f4f0e8;--tone-nav-strong:#ffffffd9;--tone-nav:#ffffffa6;--tone-copy:#ffffff8c;--tone-label:#ffffff59;--tone-divider:#ffffff47;--ease-standard:cubic-bezier(.22, 1, .36, 1);--dur-scene:.76s;--dur-rail:.5s;--dur-enter:.42s;--dur-hover:.24s;--dur-presence:.22s;--dur-fade:.18s;--dur-logo-exit:.32s;--dur-logo-return:.72s;--delay-logo-return:.62s;--dur-project-reveal:.62s;--delay-project-preview:1.08s;--space-page-x:1.5rem;--space-page-y:2rem}@media(min-width:640px){:root{--space-page-x:2.5rem;--space-page-y:2.5rem}}@media(min-width:1024px){:root{--space-page-x:4rem;--space-page-y:3.5rem}}body{background:var(--color-bg);color:var(--color-fg);font-family:Inter,sans-serif}::selection{background:var(--color-fg);color:var(--color-bg)}.surface-bg{background:var(--color-bg)}.text-primary{color:var(--color-fg)}.tone-nav-strong{color:var(--tone-nav-strong)}.tone-nav{color:var(--tone-nav)}.tone-copy{color:var(--tone-copy)}.tone-label{color:var(--tone-label)}.tone-divider{color:var(--tone-divider)}.stage-padding{padding:var(--space-page-y) var(--space-page-x)}.direction-link{--arrow-shift-x:0px;--arrow-shift-y:0px;--arrow-rotation:0deg}.direction-link .arrow-shell{justify-content:center;align-items:center;width:.95rem;height:.95rem;display:inline-flex}.direction-link .arrow-glyph{width:.85rem;height:.6rem;transform:translateZ(0) rotate(var(--arrow-rotation));transform-origin:50%;will-change:transform;transition:transform var(--dur-hover) var(--ease-standard)}.direction-link:hover .arrow-glyph,.direction-link:focus-visible .arrow-glyph{transform:translate3d(var(--arrow-shift-x),var(--arrow-shift-y),0) rotate(var(--arrow-rotation))}.hero-contact-links{align-items:center;gap:.85rem;display:inline-flex}.hero-contact-icon{appearance:none;width:1.8rem;height:1.8rem;color:var(--tone-nav);cursor:pointer;transition:color var(--dur-hover) ease,opacity var(--dur-hover) ease,transform var(--dur-hover) var(--ease-standard);background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.hero-contact-icon svg{width:1.05rem;height:1.05rem}.hero-contact-icon--mail svg{width:1.8rem;height:1.8rem}.hero-contact-icon:hover,.hero-contact-icon:focus-visible{color:var(--color-fg);opacity:1;outline:none;transform:translateY(-2px)}.hero-contact-icon:focus-visible{outline-offset:.35rem;outline:1px solid #ffffff47}@media(min-width:640px){#heroFooter{justify-content:flex-end;align-items:center;gap:2.5rem}}#heroTitle{transform-origin:0 0;transition:transform var(--dur-scene) var(--ease-standard),opacity var(--dur-logo-exit) ease;will-change:transform,opacity}#heroDesktopNav,#heroMobileNav,#heroFooter{transition:opacity var(--dur-presence) ease,transform var(--dur-enter) var(--ease-standard);will-change:opacity,transform}#projectsStage{transition:transform var(--dur-scene) var(--ease-standard);will-change:transform;transform:translateY(100%)}#projectsStage .projects-stage-shell{min-height:calc(100vh - (var(--space-page-y) * 2));padding-top:clamp(3rem,5.4vw,4.75rem);padding-bottom:clamp(1.5rem,3vw,3rem)}#projectsStage .projects-stage-stack{gap:clamp(3.5rem,8vw,6.5rem);display:grid}#projectsStage .projects-stage-card{padding-top:clamp(2.5rem,4vw,3.5rem);position:relative}#projectsStage .projects-stage-card:before{content:"";background:linear-gradient(90deg,#ffffff2e,#ffffff08 60%,#0000);height:1px;position:absolute;top:0;left:0;right:0}#projectsStage .projects-stage-card:first-child{padding-top:0}#projectsStage .projects-stage-card:first-child:before{display:none}#projectsStage .projects-stage-grid{grid-template-areas:"intro""preview""points""repo";align-items:start;gap:1.75rem;width:100%;display:grid}#projectsStage .projects-stage-intro{grid-area:intro;max-width:41rem}.projects-stage-repo{grid-area:repo;justify-content:flex-end;display:flex}.projects-stage-repo--desktop{display:none}.projects-repo-badge{min-height:1.8rem;color:var(--tone-nav-strong);letter-spacing:.01em;transition:color var(--dur-hover) ease,border-color var(--dur-hover) ease,transform var(--dur-hover) ease;justify-content:flex-start;align-items:center;gap:.58rem;padding:0;font-size:.84rem;line-height:1;display:inline-flex}.projects-repo-badge:hover,.projects-repo-badge:focus-visible{color:var(--color-fg);border-color:#fff3;outline:none;transform:translateY(-1px)}.projects-repo-icon{flex-shrink:0;width:.95rem;height:.95rem}.projects-stage-points-grid{grid-area:points;gap:1.25rem;display:grid}.projects-stage-points{gap:1rem;display:grid}.projects-stage-point{grid-template-columns:1.6rem minmax(0,1fr);align-items:start;gap:1rem;display:grid}.projects-point-icon{color:#ffffffd1;flex-shrink:0;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;margin-top:.08rem;display:inline-flex}.projects-preview-shell{grid-area:preview;align-items:flex-start;width:100%;display:flex}.projects-preview-frame{background:radial-gradient(circle at 100% 0,#d699541f,#0000 34%),linear-gradient(#121212f5,#070707fa);border:2px solid #ffffff24;border-radius:1.5rem;width:100%;position:relative;overflow:hidden;box-shadow:0 24px 64px #0000003d}.projects-preview-media-shell{aspect-ratio:1244/760;position:relative}.projects-preview-media{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.projects-preview-shell[data-preview-type=image] .projects-preview-media{object-fit:contain}#projectsStage .projects-stage-intro,#projectsStage .projects-stage-repo,#projectsStage .projects-stage-points-grid,#projectsStage .projects-preview-frame{opacity:0;transition:opacity var(--dur-enter) ease,transform var(--dur-project-reveal) var(--ease-standard);will-change:opacity,transform}#projectsStage .projects-stage-intro,#projectsStage .projects-stage-repo,#projectsStage .projects-stage-points-grid{transform:translateY(18px)}#projectsStage .projects-preview-frame{transform:translate(24px)}#projectsStage .projects-stage-card[data-layout=media-left] .projects-preview-frame{transform:translate(-24px)}#experienceRoot[data-view=projects-entering] #projectsStage .projects-stage-intro,#experienceRoot[data-view=projects] #projectsStage .projects-stage-intro{opacity:1;transition-delay:.12s;transform:translate(0)}#experienceRoot[data-view=projects-entering] #projectsStage .projects-stage-repo,#experienceRoot[data-view=projects] #projectsStage .projects-stage-repo{opacity:1;transition-delay:.18s;transform:translate(0)}#experienceRoot[data-view=projects-entering] #projectsStage .projects-stage-points-grid,#experienceRoot[data-view=projects] #projectsStage .projects-stage-points-grid{opacity:1;transition-delay:.26s;transform:translate(0)}#experienceRoot[data-view=projects-entering] #projectsStage .projects-preview-frame,#experienceRoot[data-view=projects] #projectsStage .projects-preview-frame{opacity:1;transition-delay:var(--delay-project-preview);transform:translate(0)}#labStage{--lab-section-index:0;transition:transform var(--dur-scene) var(--ease-standard);will-change:transform;transform:translate(100%)}#labPortal{--lab-section-index:0;transition:transform var(--dur-scene) var(--ease-standard),opacity var(--dur-enter) ease;will-change:transform,opacity}#labPortal[data-portal-entrance=entering]{opacity:0;transform:translate(6vw)}#labPortal[data-portal-entrance=ready]{opacity:1;transform:translate(0)}.lab-route-logo{opacity:1;transition:opacity var(--dur-logo-return) ease,transform var(--dur-logo-return) var(--ease-standard);will-change:opacity,transform;transform:translate(0)}.lab-route-logo[data-route-logo-entrance=entering]{opacity:0;transform:translateY(12px)}.lab-route-logo[data-route-logo-entrance=ready]{opacity:1;transform:translate(0)}#labPortal .lab-portal-breadcrumb,#labPortal #labContentViewport,#labPortal .lab-portal-nav{opacity:1;transition:opacity var(--dur-enter) ease,transform var(--dur-enter) var(--ease-standard);transform:translate(0)}#labPortal .lab-portal-breadcrumb{transition-delay:40ms}#labPortal #labContentViewport{transition-delay:.11s}#labPortal .lab-portal-nav{transition-delay:.16s}#labPortal[data-portal-entrance=entering] .lab-portal-breadcrumb{opacity:0;transform:translateY(10px)}#labPortal[data-portal-entrance=entering] #labContentViewport{opacity:0;transform:translateY(18px)}#labPortal[data-portal-entrance=entering] .lab-portal-nav{opacity:0;transform:translate(24px)}#labContentViewport{height:clamp(29rem,60vh,38rem);position:relative;overflow:hidden}#labPortal[data-lab-section=work] .lab-main-column{max-width:none}#labPortal[data-lab-section=work] #labContentViewport{margin-top:1.5rem}#labPortal[data-lab-section=contact] #labContentViewport{margin-top:1.25rem}.lab-work-dots-dock{opacity:0;pointer-events:none;max-height:0;transition:max-height var(--dur-hover) var(--ease-standard),margin-top var(--dur-hover) var(--ease-standard),opacity var(--dur-hover) ease;margin-top:0;overflow:hidden}#labPortal[data-lab-section=work] .lab-work-dots-dock{opacity:1;pointer-events:auto;max-height:1.5rem;margin-top:.35rem}#labContentTrack{height:100%;transform:translate3d(0,calc(var(--lab-section-index,0) * -100%),0);transition:transform var(--dur-scene) var(--ease-standard);will-change:transform;grid-auto-rows:100%;display:grid}.lab-panel{overscroll-behavior:contain;scrollbar-width:none;min-height:100%;overflow:hidden auto}.lab-panel[data-visibility-state=masked]{visibility:hidden}.lab-panel::-webkit-scrollbar{width:0;height:0}.lab-breadcrumb-button{transition:color var(--dur-hover) ease,opacity var(--dur-hover) ease}.lab-breadcrumb-button:hover,.lab-breadcrumb-button:focus-visible{color:var(--color-fg);opacity:1;outline:none}.lab-nav-button{text-align:left;width:100%;transition:opacity var(--dur-hover) ease;display:block}.lab-nav-indicator{transition:top var(--dur-hover) var(--ease-standard),opacity var(--dur-hover) ease;transform:translateY(-50%)}.lab-nav-title{transition:transform var(--dur-hover) var(--ease-standard),color var(--dur-hover) ease,opacity var(--dur-hover) ease;display:inline-block;transform:translate(0)}.lab-nav-copy{transition:color var(--dur-hover) ease,opacity var(--dur-hover) ease}.lab-work-nav-shell{height:var(--work-nav-shell-height,4.5rem);position:relative}.lab-work-nav-copy,.lab-work-nav-list{transition:opacity .24s ease,transform .24s var(--ease-standard);will-change:opacity,transform;display:block;position:absolute;inset:0}.lab-work-nav-copy{color:inherit}.lab-work-nav-list{opacity:0;pointer-events:none;transform:translateY(6px)}.lab-work-nav-shell[data-work-nav-mode=summary] .lab-work-nav-copy{opacity:1;transform:translate(0)}.lab-work-nav-shell[data-work-nav-mode=summary] .lab-work-nav-list{opacity:0;pointer-events:none;transform:translateY(6px)}.lab-work-nav-shell[data-work-nav-mode=cards] .lab-work-nav-copy{opacity:0;pointer-events:none;transform:translateY(-6px)}.lab-work-nav-shell[data-work-nav-mode=cards] .lab-work-nav-list{opacity:1;pointer-events:auto;transform:translate(0)}.lab-nav-button:hover .lab-nav-title,.lab-nav-button:focus-visible .lab-nav-title{transform:translate(-6px)}.lab-nav-button:focus-visible{outline:none}.lab-nav-button[data-active=true] .lab-nav-title{color:var(--color-fg)}.lab-nav-button[data-active=true] .lab-nav-copy{color:var(--tone-copy)}.lab-nav-button[data-active=false] .lab-nav-title{color:var(--tone-nav)}.lab-nav-button[data-active=false] .lab-nav-copy{color:var(--tone-label)}.lab-work-nav-button{color:var(--tone-label);transition:color var(--dur-hover) ease,opacity var(--dur-hover) ease,transform var(--dur-hover) var(--ease-standard)}.lab-work-nav-button:hover,.lab-work-nav-button:focus-visible{color:var(--tone-nav-strong);outline:none;transform:translate(-4px)}.lab-work-nav-button[data-active=true]{color:var(--color-fg)}.lab-search{width:100%;color:var(--color-fg);letter-spacing:.18em;text-transform:uppercase;transition:border-color var(--dur-hover) ease,color var(--dur-hover) ease;background:0 0;border:1px solid #ffffff1f;padding:.9rem 1rem;font-size:.72rem}.lab-search::placeholder{color:#ffffff47}.lab-search:focus{border-color:#ffffff52;outline:none}.contact-form{gap:.95rem;display:grid}.contact-panel-inner{justify-content:flex-start}.contact-field{gap:.55rem;display:grid}.contact-field--trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact-label{color:var(--tone-label);letter-spacing:.18em;text-transform:uppercase;font-size:.64rem;line-height:1}.contact-input,.contact-textarea,.contact-select-trigger{width:100%;color:var(--color-fg);letter-spacing:-.01em;transition:border-color var(--dur-hover) ease,background-color var(--dur-hover) ease,color var(--dur-hover) ease;background:#ffffff04;border:1px solid #ffffff1f;border-radius:0;font-size:.92rem;line-height:1.5}.contact-input,.contact-select-trigger{min-height:3.15rem;padding:.78rem .9rem}.contact-textarea{resize:vertical;min-height:9.75rem;padding:.85rem .9rem}.contact-input:focus,.contact-textarea:focus,.contact-select-trigger:focus-visible{background:#ffffff06;border-color:#ffffff47;outline:none}.contact-select-shell{position:relative}.contact-select-trigger{appearance:none;text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding-right:2.6rem;font-family:inherit;display:flex;position:relative}.contact-select-trigger [data-placeholder=true]{color:#f4f0e880}.contact-select-trigger:hover,.contact-timeline-field[data-open=true] .contact-select-trigger{color:var(--color-fg);background:#ffffff07;border-color:#ffffff38}.contact-select-chevron{color:#f4f0e89e;pointer-events:none;width:1rem;height:1rem;transition:color var(--dur-hover) ease,transform var(--dur-hover) var(--ease-standard);display:flex;position:absolute;top:50%;right:.9rem;transform:translateY(-50%)}.contact-select-chevron svg{width:100%;height:100%}.contact-timeline-field[data-open=true] .contact-select-chevron{color:var(--color-fg);transform:translateY(-50%)rotate(180deg)}.contact-select-menu{z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;pointer-events:none;transition:opacity var(--dur-hover) ease,transform var(--dur-hover) var(--ease-standard);background:#050505f7;border:1px solid #ffffff21;gap:.18rem;padding:.35rem;display:grid;position:absolute;top:calc(100% + .45rem);left:0;right:0;transform:translateY(-.35rem);box-shadow:0 1.1rem 2.7rem #00000061}.contact-timeline-field[data-open=true] .contact-select-menu{opacity:1;pointer-events:auto;transform:translate(0)}.contact-select-option{appearance:none;color:#f4f0e8bd;letter-spacing:-.01em;text-align:left;cursor:pointer;width:100%;min-height:2.65rem;transition:border-color var(--dur-hover) ease,background-color var(--dur-hover) ease,color var(--dur-hover) ease,transform var(--dur-hover) var(--ease-standard);background:0 0;border:1px solid #0000;align-items:center;padding:.7rem .75rem;font-size:.84rem;line-height:1.35;display:flex}.contact-select-option:hover,.contact-select-option:focus-visible{color:var(--color-fg);background:#ffffff0e;border-color:#ffffff1f;outline:none;transform:translate(2px)}.contact-select-option[aria-selected=true]{color:var(--color-fg);background:#f4f0e81a;border-color:#f4f0e82e}.contact-select-option[data-value=""]{color:#f4f0e880}.contact-actions{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"submit primary"".github";align-items:end;gap:.5rem .9rem;padding-top:.2rem;display:grid}.contact-submit{appearance:none;width:fit-content;min-height:2.95rem;color:var(--tone-nav-strong);letter-spacing:.2em;text-transform:uppercase;transition:border-color var(--dur-hover) ease,background-color var(--dur-hover) ease,color var(--dur-hover) ease,transform var(--dur-hover) var(--ease-standard);background:0 0;border:1px solid #ffffff1f;grid-area:submit;justify-content:center;align-items:center;padding:0 1.1rem;font-size:.66rem;line-height:1;display:inline-flex}.contact-submit:hover,.contact-submit:focus-visible{color:var(--color-fg);background:#ffffff08;border-color:#ffffff38;outline:none;transform:translate(2px)}.contact-submit:disabled{cursor:wait;opacity:.58;transform:none}.contact-form-status{min-height:1.1rem;color:var(--tone-label);letter-spacing:.16em;text-transform:uppercase;font-size:.68rem;line-height:1.5}.contact-form-status:empty{display:none}.contact-form-status[data-state=success]{color:#3fe17be6}.contact-form-status[data-state=error]{color:#ff7e6de6}.contact-direct{color:var(--tone-copy);text-align:right;flex-wrap:wrap;grid-area:primary;justify-content:flex-end;align-items:center;gap:.4rem .65rem;padding-top:.05rem;font-size:.86rem;line-height:1.6;display:flex}.contact-direct-copy{color:var(--tone-copy)}.contact-direct-link{color:var(--tone-nav-strong);transition:color var(--dur-hover) ease,opacity var(--dur-hover) ease;align-items:center;gap:.55rem;display:inline-flex}.contact-direct-link--github{grid-area:github;justify-self:end;margin-top:.45rem}.contact-direct-link:hover,.contact-direct-link:focus-visible{color:var(--color-fg);opacity:1;outline:none}.work-feature-panel{cursor:pointer;transition:border-color var(--dur-hover) ease,background-color var(--dur-hover) ease}.work-feature-panel:hover,.work-feature-panel:focus-within{background-color:#ffffff08;border-color:#ffffff29}.work-feature-panel:focus-visible{outline-offset:2px;background-color:#ffffff08;border-color:#ffffff2e;outline:1px solid #ffffff2e}.work-feature-preview img,.work-feature-preview video{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .7s var(--ease-standard),opacity var(--dur-hover) ease;display:block}.work-feature-panel:hover .work-feature-preview img,.work-feature-panel:hover .work-feature-preview video,.work-feature-panel:focus-within .work-feature-preview img,.work-feature-panel:focus-within .work-feature-preview video{transform:scale(1.02)}.work-feature-panel:hover .work-feature-preview[data-media-type=video] video,.work-feature-panel:focus-within .work-feature-preview[data-media-type=video] video{transform:none}.work-feature-preview[data-fit=contain] img,.work-feature-preview[data-fit=contain] video{object-fit:contain;object-position:center}.work-feature-overlay{transition:transform .42s var(--ease-standard),background-color var(--dur-hover) ease,border-color var(--dur-hover) ease;will-change:transform;transform:translateY(100%)}.work-feature-panel:hover .work-feature-overlay,.work-feature-panel:focus-within .work-feature-overlay{transform:translate(0)}.work-feature-stage{position:relative}.work-feature-slide{opacity:0;pointer-events:none;will-change:transform,opacity;transition:transform .52s var(--ease-standard),opacity .32s ease;position:absolute;inset:0}.work-feature-slide[data-work-state=active]{opacity:1;pointer-events:auto;z-index:2;transform:translate(0)}.work-feature-slide[data-work-state=entering]{opacity:0;z-index:3}.work-feature-slide[data-work-state=leaving]{opacity:1;z-index:2;transform:translate(0)}#labPortal[data-work-direction=forward] .work-feature-slide[data-work-state=entering]{transform:translate(12%)}#labPortal[data-work-direction=forward] .work-feature-slide[data-work-state=inactive],#labPortal[data-work-direction=backward] .work-feature-slide[data-work-state=entering]{transform:translate(-12%)}#labPortal[data-work-direction=backward] .work-feature-slide[data-work-state=inactive]{transform:translate(12%)}.work-chip,.work-cta{border-radius:999px}.work-mobile-more{gap:.65rem;display:grid}.work-mobile-more-toggle{appearance:none;width:fit-content;color:var(--tone-nav-strong);cursor:pointer;transition:color var(--dur-hover) ease,opacity var(--dur-hover) ease;background:0 0;border:0;padding:0;line-height:1}.work-mobile-more-toggle:hover,.work-mobile-more-toggle:focus-visible{color:var(--color-fg);outline:none}.work-mobile-more-chevron{width:.8rem;height:.8rem;transition:transform var(--dur-hover) var(--ease-standard);flex:none}.work-mobile-more[data-expanded=true] .work-mobile-more-chevron{transform:rotate(180deg)}.work-mobile-more-body{opacity:0;transition:grid-template-rows var(--dur-hover) var(--ease-standard),opacity var(--dur-hover) ease,transform var(--dur-hover) var(--ease-standard);grid-template-rows:0fr;display:grid;overflow:hidden;transform:translateY(-.35rem)}.work-mobile-more-body-inner{min-height:0;overflow:hidden}.work-mobile-more[data-expanded=true] .work-mobile-more-body{opacity:1;grid-template-rows:1fr;transform:translate(0)}.work-chip{justify-content:center;align-items:center;display:inline-flex}.work-chip,.work-status{color:var(--tone-label);background:#ffffff05}.work-status{color:#ffffffb3;background:0 0;align-items:center;gap:.45rem;width:fit-content;padding:0;display:inline-flex}.work-status-dot{background:#3fe17b;border-radius:9999px;width:.5rem;height:.5rem;animation:2.2s ease-in-out infinite work-live-pulse;box-shadow:0 0 #3fe17b6b}@keyframes work-live-pulse{0%,to{opacity:.78;transform:scale(.92);box-shadow:0 0 #3fe17b5c}50%{opacity:1;transform:scale(1);box-shadow:0 0 0 .28rem #3fe17b14}}.work-cta{appearance:none;color:var(--tone-nav-strong);transition:border-color var(--dur-hover) ease,color var(--dur-hover) ease,background-color var(--dur-hover) ease,transform var(--dur-hover) var(--ease-standard);background:0 0;border:1px solid #ffffff1f}.work-cta:hover,.work-cta:focus-visible{color:var(--color-fg);background:#ffffff08;border-color:#ffffff2e;outline:none;transform:translate(2px)}.work-dot{transition:background-color var(--dur-hover) ease,border-color var(--dur-hover) ease,transform var(--dur-hover) var(--ease-standard);background:0 0}.work-dot:hover,.work-dot:focus-visible{border-color:#ffffff8c;outline:none;transform:scale(1.12)}.work-dot[data-active=true]{background:var(--color-fg);border-color:var(--color-fg)}.work-case-root{min-height:100vh;overflow-x:hidden}.work-case-stage{min-height:100vh;padding:var(--space-page-y) var(--space-page-x) 8rem}.work-case-shell{width:100%;max-width:100rem;margin:0 auto}.work-case-brand{z-index:2;color:var(--color-fg);letter-spacing:0;text-transform:uppercase;transition:opacity var(--dur-hover) ease;font-family:Inter,sans-serif;font-size:1.15rem;font-weight:900;line-height:1;display:inline-block;position:relative}.work-case-brand:hover,.work-case-brand:focus-visible{opacity:.78;outline:none}.work-case-hero{text-align:center;justify-content:center;align-items:center;padding-top:8.5rem;padding-bottom:6rem;display:flex}.work-case-title{color:var(--color-fg);letter-spacing:0;text-transform:uppercase;font-size:4.5rem;font-weight:900;line-height:1}.work-case-body{grid-template-columns:1fr;gap:4rem;display:grid}.work-case-side{display:contents}.work-case-meta{flex-direction:column;gap:4rem;max-width:34rem;display:flex}.work-case-label{color:var(--tone-label);letter-spacing:.18em;text-transform:uppercase;margin-bottom:1.5rem;font-size:.75rem;font-weight:500;line-height:1}.work-case-about{color:var(--tone-nav-strong);letter-spacing:0;font-size:1.25rem;font-weight:400;line-height:1.6}.work-case-pills{flex-wrap:wrap;gap:.75rem;display:flex}.work-case-pills li{min-height:2.25rem;color:var(--tone-nav-strong);letter-spacing:0;border:1px solid #ffffff1f;border-radius:999px;align-items:center;padding:.5rem 1.25rem;font-size:.875rem;font-weight:400;line-height:1;display:inline-flex}.work-case-stack{flex-direction:column;gap:.75rem;display:flex}.work-case-stack li{color:var(--tone-copy);letter-spacing:0;align-items:center;font-size:1rem;font-weight:400;line-height:1.25;display:flex}.work-case-stack span:first-child{width:2rem;color:var(--tone-label);flex:0 0 2rem;font-size:.75rem}.work-case-action,.work-case-back{width:fit-content;color:var(--tone-nav-strong);letter-spacing:0;text-transform:uppercase;transition:border-color var(--dur-hover) ease,color var(--dur-hover) ease,background-color var(--dur-hover) ease,transform var(--dur-hover) var(--ease-standard);background:0 0;border:1px solid #ffffff1f;border-radius:999px;justify-content:center;align-items:center;font-size:.875rem;font-weight:500;line-height:1;display:inline-flex}.work-case-action{gap:.75rem;padding:.75rem 1.5rem}.work-case-back-wrap{padding-top:0}.work-case-back{gap:1rem;padding:.75rem 1.5rem}.work-case-action:hover,.work-case-action:focus-visible,.work-case-back:hover,.work-case-back:focus-visible{color:var(--color-fg);background:#ffffff08;border-color:#fff3;outline:none;transform:translate(2px)}.work-case-visuals{flex-direction:column;gap:clamp(5.5rem,7vw,7rem);min-width:0;display:flex}.work-case-visuals[data-visual-layout=long-screenshot]{gap:0}.work-case-visual-group{flex-direction:column;min-width:0;display:flex}.work-case-visual-group--long{width:100%}.work-case-window{background:#ffffff08;border:1px solid #ffffff14;border-radius:.5rem;width:100%;overflow:hidden;box-shadow:0 1.75rem 4rem #00000038}.work-case-window-bar{background:#ffffff09;border-bottom:1px solid #ffffff14;align-items:center;gap:.5rem;height:2.5rem;padding:0 1rem;display:flex}.work-case-window-bar span{background:#ffffff38;border-radius:999px;width:.625rem;height:.625rem}.work-case-media{aspect-ratio:16/9;background:#ffffff08;position:relative;overflow:hidden}.work-case-media img,.work-case-media video{object-fit:cover;object-position:top center;filter:grayscale()contrast(1.06);width:100%;height:100%;transition:filter var(--dur-hover) ease,opacity var(--dur-hover) ease;display:block}.work-case-media[data-fit=contain] img,.work-case-media[data-fit=contain] video{object-fit:contain;object-position:center}.work-case-media--long img{filter:contrast(1.02);object-position:top center}.about-stage{align-items:center;min-height:100vh;display:flex}.about-shell{width:100%}.about-copy{max-width:42rem}.about-copy p{color:var(--tone-nav-strong);letter-spacing:-.015em;font-size:clamp(1rem,1.2vw,1.16rem);line-height:1.82}.work-case-window:hover .work-case-media img,.work-case-window:hover .work-case-media video,.work-case-window:focus-within .work-case-media img,.work-case-window:focus-within .work-case-media video{filter:grayscale(0)contrast()}@media(min-width:640px){.work-case-brand{font-size:1.3rem}.work-case-hero{padding-top:11rem;padding-bottom:8rem}.work-case-title{font-size:8rem}.work-case-about{font-size:1.5rem}}@media(min-width:1024px){.work-case-brand{letter-spacing:-.08em;font-size:1.8rem;position:fixed;top:1.75rem;left:4rem}.work-case-hero{padding-top:12.5rem}.work-case-title{font-size:12rem}.work-case-body{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:4rem 6rem}.work-case-side{flex-direction:column;grid-column:1/span 4;gap:4rem;min-height:100%;display:flex}.work-case-meta{min-height:100%}.work-case-action{margin-top:0}.work-case-visuals{grid-area:1/5/span 2/span 8;align-self:start}.work-case-back-wrap{grid-area:2/1/auto/span 4;align-self:end}.contact-form{transform-origin:0 0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem 1.1rem;width:105.263%;transform:scale(.95)}.contact-panel-inner{gap:1.25rem;padding-top:.5rem}.contact-field--full{grid-column:1/-1}.contact-actions{justify-content:space-between;align-items:end;gap:1rem;display:flex}.contact-actions .contact-direct{align-items:end;gap:.65rem;padding-top:0;display:flex}.contact-actions .contact-direct-link--github{margin-top:0}}@media(max-width:767px){.work-case-window-bar{display:none}.work-case-media img,.work-case-media video{filter:none}.work-case-media{aspect-ratio:16/9}}.home-contact-modal-open{overflow:hidden}.home-contact-modal{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--color-fg);background:#050505fa;border:none;margin:0;padding:0}.home-contact-modal[open]{display:block}.home-contact-modal::backdrop{background:#050505b8}.home-contact-modal-shell{min-height:100dvh;padding:var(--space-page-y) var(--space-page-x);grid-template-rows:auto minmax(0,1fr);display:grid}.home-contact-modal-bar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.home-contact-modal-kicker{color:var(--tone-label);letter-spacing:.22em;text-transform:uppercase;font-size:.68rem;line-height:1}.home-contact-modal-close{appearance:none;width:2.45rem;height:2.45rem;color:var(--tone-nav);cursor:pointer;transition:border-color var(--dur-hover) ease,background-color var(--dur-hover) ease,color var(--dur-hover) ease,transform var(--dur-hover) var(--ease-standard);background:0 0;border:1px solid #ffffff1f;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.home-contact-modal-close svg{width:.95rem;height:.95rem}.home-contact-modal-close:hover,.home-contact-modal-close:focus-visible{color:var(--color-fg);background:#ffffff09;border-color:#ffffff38;outline:none;transform:rotate(90deg)}.home-contact-modal-content{align-self:center;gap:clamp(2rem,4vw,3rem);width:min(100%,58rem);margin:0 auto;padding:clamp(2.5rem,7vw,5.5rem) 0;display:grid}.home-contact-modal-intro{gap:1rem;display:grid}.home-contact-modal-intro h2{letter-spacing:-.06em;max-width:11ch;font-size:clamp(2.55rem,9vw,6rem);line-height:.9}.home-contact-modal-intro p{letter-spacing:.12em;text-transform:uppercase;max-width:48rem;font-size:.86rem;line-height:1.72}.home-contact-modal .contact-form{width:100%;transform:none}@media(min-width:768px){.home-contact-modal .contact-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem 1.1rem}.home-contact-modal .contact-field--full{grid-column:1/-1}}.pricing-tab-button{transition:color var(--dur-hover) ease,opacity var(--dur-hover) ease}.pricing-tab-button:hover,.pricing-tab-button:focus-visible{color:var(--tone-nav-strong);opacity:1;outline:none}.pricing-tab-button[data-active=true]{color:var(--color-fg);opacity:1}.pricing-tab-button[data-active=false]{color:var(--tone-label);opacity:.88}.pricing-panel-scroll{min-height:0;padding-right:.25rem}.pricing-plan{min-width:0}.pricing-accordion-item{border-top:1px solid #ffffff14;min-width:0;padding-top:1.15rem}.pricing-accordion-item:first-child{border-top:none;padding-top:0}.pricing-accordion-trigger{text-align:left;width:100%;display:block}.pricing-accordion-trigger:focus-visible{outline:none}.pricing-accordion-marker{pointer-events:none;transition:transform var(--dur-hover) var(--ease-standard),opacity var(--dur-hover) ease}.sidebar-mobile-icon{flex-direction:column;gap:.24rem;display:inline-flex}.sidebar-mobile-icon span{transform-origin:50%;width:1rem;height:1px;transition:transform var(--dur-hover) var(--ease-standard),opacity var(--dur-hover) ease;background:currentColor;display:block}#sidebarMobileToggle[data-open=true] .sidebar-mobile-icon span:first-child{transform:translateY(.24rem)rotate(45deg)}#sidebarMobileToggle[data-open=true] .sidebar-mobile-icon span:nth-child(2){opacity:0;transform:scaleX(.25)}#sidebarMobileToggle[data-open=true] .sidebar-mobile-icon span:last-child{transform:translateY(-.24rem)rotate(-45deg)}.pricing-accordion-collapse{opacity:0;transition:grid-template-rows var(--dur-enter) var(--ease-standard),opacity var(--dur-hover) ease;grid-template-rows:0fr;display:grid}.pricing-accordion-body{min-height:0;overflow:hidden}.pricing-accordion-body .tone-copy{max-width:38rem}.pricing-accordion-item[data-open=true] .pricing-accordion-collapse{opacity:1;grid-template-rows:1fr}.pricing-accordion-item[data-open=true] .pricing-accordion-marker{transform:rotate(45deg)}.pricing-addon-item{border-top:1px solid #ffffff14;min-width:0;padding-top:1.15rem}.pricing-addon-item:first-child{border-top:none;padding-top:0}.pricing-addon-details{flex-direction:column;gap:.85rem;display:flex}.pricing-addon-detail{margin:0}.pricing-addon-intro{max-width:44rem;margin-bottom:.2rem}.pricing-addon-detail-labeled{border-top:1px solid #ffffff0f;padding-top:.75rem}.pricing-addon-price+.pricing-addon-price{margin-top:-.2rem}.pricing-addon-price{color:#ffffffb8;padding-left:1rem;line-height:1.55;position:relative}.pricing-addon-price:before{content:"";background:#ffffff75;border-radius:999px;width:.32rem;height:.32rem;position:absolute;top:.85rem;left:0}.pricing-addons-meta{width:100%}.pricing-addons-meta-grid{gap:1.25rem 2rem;display:grid}.pricing-addons-meta-card{flex-direction:column;justify-content:flex-start;gap:.65rem;min-width:0;display:flex}.pricing-addons-meta-title{margin:0}.pricing-addons-meta-copy{max-width:48rem;margin:0}.pricing-addons-meta-copy,.pricing-addons-note{max-width:48rem}@media(min-width:640px){.pricing-addons-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.pricing-inline-action{transition:color var(--dur-hover) ease,opacity var(--dur-hover) ease}.pricing-inline-action:hover,.pricing-inline-action:focus-visible{color:var(--color-fg);opacity:1;outline:none}.notes-stage{padding-top:clamp(5rem,9vw,6.75rem);padding-bottom:clamp(2.5rem,6vw,5rem)}@media(max-width:1023px){.notes-stage{padding-bottom:calc(clamp(2.5rem,6vw,5rem) + 4.8rem + env(safe-area-inset-bottom))}}.notes-shell{max-width:88rem}.notes-grid{align-items:start;gap:2.5rem;display:grid}.notes-sidebar{min-width:0}.notes-breadcrumb{margin-bottom:.65rem}.notes-breadcrumb-link{transition:color var(--dur-hover) ease,opacity var(--dur-hover) ease}.notes-breadcrumb-link:hover,.notes-breadcrumb-link:focus-visible{color:var(--color-fg);opacity:1;outline:none}.notes-page-title{letter-spacing:-.055em;max-width:14ch;font-size:clamp(2rem,3vw,2.85rem);line-height:.98}.notes-page-copy{letter-spacing:-.01em;max-width:24rem;font-size:.95rem;line-height:1.72}.notes-index-item{transition:border-color var(--dur-hover) ease,color var(--dur-hover) ease,opacity var(--dur-hover) ease,transform var(--dur-hover) var(--ease-standard);border-left:1px solid #ffffff14;padding:.15rem 0 .15rem 1rem;display:block}.notes-index-item:hover,.notes-index-item:focus-visible{border-color:#ffffff47;outline:none;transform:translate(3px)}.notes-index-item[data-active=true]{border-color:#ffffffb8}.notes-index-item[data-active=true] .notes-index-title{color:var(--color-fg)}.notes-index-item[data-active=false] .notes-index-title{color:var(--tone-nav-strong)}.notes-index-title{letter-spacing:-.02em;max-width:22rem;font-size:.98rem;line-height:1.38}.notes-index-summary{letter-spacing:-.01em;font-size:.88rem;line-height:1.58}.notes-article-shell{min-width:0}.notes-article-header{max-width:46rem}.notes-note-title{letter-spacing:-.058em;max-width:18ch;font-size:clamp(2.15rem,3.4vw,3.35rem);line-height:.96}.notes-note-summary{letter-spacing:-.01em;max-width:42rem;font-size:.98rem;line-height:1.74}.notes-prose{max-width:46rem}.notes-prose>:first-child{margin-top:0}.notes-prose>*+*{margin-top:1rem}.notes-prose p,.notes-prose li{color:var(--tone-copy);letter-spacing:-.01em;font-size:.96rem;line-height:1.84}.notes-prose>p:first-of-type{color:var(--tone-nav);font-size:1rem}.notes-prose h1,.notes-prose h2,.notes-prose h3{color:var(--color-fg);scroll-margin-top:8.75rem}.notes-prose h1{letter-spacing:-.055em;margin-top:3.6rem;font-size:clamp(1.9rem,2.8vw,2.75rem);font-weight:900;line-height:.97}.notes-prose h2{letter-spacing:-.045em;margin-top:2.9rem;font-size:clamp(1.45rem,2vw,1.95rem);font-weight:800;line-height:1.02}.notes-prose h3{color:var(--tone-nav-strong);letter-spacing:-.024em;margin-top:2rem;font-size:clamp(1.08rem,1.3vw,1.24rem);font-weight:700;line-height:1.26}.notes-prose h1:first-child,.notes-prose h2:first-child,.notes-prose h3:first-child{margin-top:0}.notes-prose h1+p,.notes-prose h2+p,.notes-prose h3+p{margin-top:.78rem}.notes-prose ul,.notes-prose ol{gap:.78rem;margin-top:1.05rem;padding-left:0;list-style:none;display:grid}.notes-prose li{padding-left:1.2rem;position:relative}.notes-prose li:before{content:"";background:#ffffff73;width:.42rem;height:1px;position:absolute;top:.9rem;left:0}.notes-prose strong{color:var(--tone-nav-strong);font-weight:700}.notes-prose a{color:var(--color-fg);text-underline-offset:.18em;-webkit-text-decoration:underline #ffffff73;text-decoration:underline #ffffff73}.notes-prose blockquote{color:var(--tone-nav);border-left:1px solid #ffffff2e;margin-top:1.35rem;padding-left:1rem}.notes-section-nav{z-index:24}.notes-section-nav-desktop{align-items:stretch;display:none;position:fixed;top:50%;right:clamp(.9rem,1.4vw,1.5rem);transform:translateY(-50%)}.notes-section-nav-panel{opacity:0;pointer-events:none;min-width:16rem;max-width:18rem;max-height:calc(100vh - 12rem);transition:opacity var(--dur-hover) ease,transform var(--dur-hover) var(--ease-standard);scrollbar-width:none;background:#070707f5;border:1px solid #ffffff1a;border-right:none;border-radius:1rem 0 0 1rem;overflow-y:auto;transform:translate(12px)}.notes-section-nav-panel::-webkit-scrollbar{width:0;height:0}.notes-section-nav.is-desktop-open .notes-section-nav-panel{opacity:1;pointer-events:auto;transform:translate(0)}.notes-section-nav-header{border-bottom:1px solid #ffffff14;padding:.8rem .95rem .65rem}.notes-section-nav-kicker{color:var(--tone-label);letter-spacing:.22em;text-transform:uppercase;font-size:.62rem;line-height:1.2}.notes-section-nav-group+.notes-section-nav-group{margin-top:.18rem}.notes-section-nav-link,.notes-section-nav-rail-item,.notes-section-nav-mobile-link,.notes-section-nav-mobile-toggle{appearance:none;background:0 0;border:none}.notes-section-nav-link{text-align:left;cursor:pointer;width:100%;transition:color var(--dur-hover) ease,background-color var(--dur-hover) ease,border-color var(--dur-hover) ease}.notes-section-nav-link.is-parent{color:var(--tone-nav-strong);letter-spacing:-.015em;align-items:center;gap:.7rem;padding:.75rem .95rem .45rem;font-size:.76rem;line-height:1.35;display:flex}.notes-section-nav-link-marker{width:.65rem;height:1px;transition:width var(--dur-hover) var(--ease-standard),background-color var(--dur-hover) ease;background:#ffffff61;flex-shrink:0}.notes-section-nav-link.is-child{color:var(--tone-copy);letter-spacing:-.01em;border-left:1px solid #0000;padding:.42rem .95rem .42rem 2.3rem;font-size:.74rem;line-height:1.38}.notes-section-nav-link:hover,.notes-section-nav-link:focus-visible{color:var(--color-fg);background:#ffffff09;outline:none}.notes-section-nav-link.is-active{color:var(--color-fg)}.notes-section-nav-link.is-parent.is-active .notes-section-nav-link-marker{background:#ffffffd1;width:1rem}.notes-section-nav-link.is-child.is-active{background:#ffffff0a;border-left-color:#ffffff94}.notes-section-nav-rail{box-shadow:none;transition:padding var(--dur-hover) var(--ease-standard),border-color var(--dur-hover) ease,background-color var(--dur-hover) ease,box-shadow var(--dur-hover) ease;background:0 0;border:none;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:.38rem;padding:0;display:flex}.notes-section-nav.is-desktop-open .notes-section-nav-rail{background:#070707f5;border:1px solid #ffffff1a;border-left:none;border-radius:0 1rem 1rem 0;padding:.9rem .8rem;box-shadow:-20px 0 44px #00000047}.notes-section-nav.is-desktop-open .notes-section-nav-panel{box-shadow:none}.notes-section-nav-rail-item{cursor:pointer;transition:width var(--dur-hover) var(--ease-standard),background-color var(--dur-hover) ease,box-shadow var(--dur-hover) ease;background:#ffffff38;display:block}.notes-section-nav-rail-item.is-parent{width:.95rem;height:2px}.notes-section-nav-rail-item.is-child{background:#ffffff24;width:.58rem;height:2px}.notes-section-nav-rail-item.is-active{background:#ffffffe0;width:1.35rem;box-shadow:0 0 0 .22rem #ffffff14}.notes-section-nav-mobile{z-index:24;pointer-events:none;inset-inline:0;display:block;position:fixed;bottom:0}.notes-section-nav-mobile-backdrop{opacity:0;pointer-events:none;transition:opacity var(--dur-hover) ease;background:#05050573;position:fixed;inset:0}.notes-section-nav-mobile-sheet{pointer-events:auto;transition:transform .3s var(--ease-standard);background:#080808fa;border-top:1px solid #ffffff1a;border-radius:0;margin-top:auto;position:relative;transform:translateY(calc(100% - 3.6rem));box-shadow:0 -18px 34px #00000052}.notes-section-nav.is-mobile-open .notes-section-nav-mobile-sheet{transform:translateY(0)}.notes-section-nav.is-mobile-open .notes-section-nav-mobile-backdrop{opacity:1;pointer-events:auto}.notes-section-nav-mobile-toggle{cursor:pointer;width:100%;min-height:3.6rem;color:var(--color-fg);text-align:left;justify-content:space-between;align-items:center;padding:.8rem 1rem;display:flex}.notes-section-nav-mobile-meta{align-items:center;gap:.65rem;min-width:0;display:inline-flex}.notes-section-nav-mobile-bullet{background:#ffffff1f;border:1px solid #ffffff9e;border-radius:999px;flex:none;width:.42rem;height:.42rem;box-shadow:0 0 0 .18rem #ffffff0e}.notes-section-nav-mobile-label{color:var(--tone-nav-strong);letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;line-height:1.35;overflow:hidden}.notes-section-nav-mobile-chevron{color:var(--tone-copy);width:1rem;height:1rem;transition:transform var(--dur-hover) var(--ease-standard);flex:none}.notes-section-nav.is-mobile-open .notes-section-nav-mobile-chevron{transform:rotate(180deg)}.notes-section-nav-mobile-list{scrollbar-width:none;border-top:1px solid #ffffff14;max-height:56vh;padding:.3rem 0 1.2rem;overflow-y:auto}.notes-section-nav-mobile-list::-webkit-scrollbar{width:0;height:0}.notes-section-nav-mobile-group+.notes-section-nav-mobile-group{margin-top:.15rem}.notes-section-nav-mobile-link{cursor:pointer;width:100%;color:var(--tone-copy);text-align:left;transition:color var(--dur-hover) ease,background-color var(--dur-hover) ease}.notes-section-nav-mobile-link.is-parent{color:var(--tone-nav-strong);letter-spacing:-.015em;align-items:center;gap:.7rem;padding:.82rem 1rem .52rem;font-size:.84rem;line-height:1.34;display:flex}.notes-section-nav-mobile-marker{background:#ffffff70;flex-shrink:0;width:.75rem;height:1px}.notes-section-nav-mobile-link.is-child{letter-spacing:-.01em;padding:.48rem 1rem .48rem 2.45rem;font-size:.8rem;line-height:1.36}.notes-section-nav-mobile-link:hover,.notes-section-nav-mobile-link:focus-visible{color:var(--color-fg);background:#ffffff09;outline:none}.notes-section-nav-mobile-link.is-active{color:var(--color-fg);background:#ffffff0a}#dockedBrand{opacity:0;transition:opacity var(--dur-logo-exit) ease;will-change:opacity}#experienceRoot[data-view=projects-entering] #heroTitle,#experienceRoot[data-view=projects] #heroTitle,#experienceRoot[data-view=lab-entering] #heroTitle,#experienceRoot[data-view=lab-exiting] #heroTitle,#experienceRoot[data-view=lab] #heroTitle{transform:translate3d(var(--hero-title-shift-x,0px),var(--hero-title-shift-y,0px),0) scale(var(--hero-title-scale,1))}#experienceRoot[data-view=projects-entering] #heroDesktopNav,#experienceRoot[data-view=projects-entering] #heroMobileNav,#experienceRoot[data-view=projects-entering] #heroFooter,#experienceRoot[data-view=lab-entering] #heroDesktopNav,#experienceRoot[data-view=lab-entering] #heroMobileNav,#experienceRoot[data-view=lab-entering] #heroFooter,#experienceRoot[data-view=lab-exiting] #heroDesktopNav,#experienceRoot[data-view=lab-exiting] #heroMobileNav,#experienceRoot[data-view=lab-exiting] #heroFooter,#experienceRoot[data-view=hero-entering-projects] #heroDesktopNav,#experienceRoot[data-view=hero-entering-projects] #heroMobileNav,#experienceRoot[data-view=hero-entering-projects] #heroFooter,#experienceRoot[data-view=hero-entering-lab] #heroDesktopNav,#experienceRoot[data-view=hero-entering-lab] #heroMobileNav,#experienceRoot[data-view=hero-entering-lab] #heroFooter,#experienceRoot[data-view=projects] #heroDesktopNav,#experienceRoot[data-view=projects] #heroMobileNav,#experienceRoot[data-view=projects] #heroFooter,#experienceRoot[data-view=lab] #heroDesktopNav,#experienceRoot[data-view=lab] #heroMobileNav,#experienceRoot[data-view=lab] #heroFooter{opacity:0;pointer-events:none;transform:translateY(12px)}#experienceRoot[data-view=hero] #sidebarMobileToggle,#experienceRoot[data-view=hero-entering-projects] #sidebarMobileToggle,#experienceRoot[data-view=hero-entering-lab] #sidebarMobileToggle{opacity:0;pointer-events:none}#experienceRoot[data-view=projects-entering] #sidebarMobileToggle,#experienceRoot[data-view=projects] #sidebarMobileToggle,#experienceRoot[data-view=lab-entering] #sidebarMobileToggle,#experienceRoot[data-view=lab-exiting] #sidebarMobileToggle,#experienceRoot[data-view=lab] #sidebarMobileToggle{opacity:1;pointer-events:auto}#experienceRoot[data-view=projects-entering] #heroScene,#experienceRoot[data-view=lab-entering] #heroScene,#experienceRoot[data-view=lab-exiting] #heroScene,#experienceRoot[data-view=hero-entering-projects] #heroScene,#experienceRoot[data-view=hero-entering-lab] #heroScene,#experienceRoot[data-view=projects] #heroScene,#experienceRoot[data-view=lab] #heroScene{pointer-events:none}#experienceRoot[data-view=projects-entering] #projectsStage,#experienceRoot[data-view=projects] #projectsStage,#experienceRoot[data-view=lab] #labStage{pointer-events:auto;transform:translate(0)}#experienceRoot[data-view=hero-entering-projects] #projectsStage,#experienceRoot[data-view=hero-entering-lab] #labStage{pointer-events:none}#experienceRoot[data-view=projects] #heroTitle,#experienceRoot[data-view=lab] #heroTitle,#experienceRoot[data-view=lab-exiting] #heroTitle{opacity:0}#experienceRoot[data-view=projects] #dockedBrand,#experienceRoot[data-view=lab] #dockedBrand{opacity:1;pointer-events:auto}@media(max-width:639px){.notes-section-nav-mobile{bottom:env(safe-area-inset-bottom,0px)}.lab-portal-nav{gap:6px;padding-top:18px}#labPortal{gap:18px}#labPortal .lab-main-column>:not(:last-child){margin-block-end:10px}#labPortal[data-lab-section=work] #labContentViewport{margin-top:0}.lab-nav-title{font-size:14px;line-height:1.2}#labContentViewport{height:clamp(27rem,56vh,32rem)}#heroTitle{transition:transform var(--dur-scene) var(--ease-standard),opacity var(--dur-hover) ease}#dockedBrand{transition:opacity var(--dur-hover) ease .14s}#experienceRoot[data-view=projects-entering] #heroTitle,#experienceRoot[data-view=lab-entering] #heroTitle,#experienceRoot[data-view=lab-exiting] #heroTitle{opacity:0}#experienceRoot[data-view=projects-entering] #dockedBrand,#experienceRoot[data-view=projects] #dockedBrand,#experienceRoot[data-view=lab-entering] #dockedBrand,#experienceRoot[data-view=lab] #dockedBrand{opacity:1}#experienceRoot[data-view=lab-exiting] #dockedBrand{opacity:0}}@media(min-width:1024px){.notes-root{height:100vh;overflow:hidden}.notes-stage{height:100%}.notes-shell{height:100%;min-height:0}.notes-grid{grid-template-columns:minmax(16.5rem,18rem) minmax(0,1fr);column-gap:clamp(2.5rem,4vw,5rem);height:100%;min-height:0}.notes-prose h1,.notes-prose h2,.notes-prose h3{scroll-margin-top:8.25rem}.notes-sidebar{flex-direction:column;min-height:0;display:flex}.notes-index-nav{scrollbar-width:none;flex:auto;min-height:0;padding-right:.5rem;overflow-y:auto}.notes-index-nav::-webkit-scrollbar{width:0;height:0}.notes-article-shell{scrollbar-width:none;height:100%;min-height:0;padding-top:.25rem;padding-bottom:7rem;padding-right:clamp(.35rem,.6vw,.75rem);position:relative;overflow-y:auto}.notes-article-shell::-webkit-scrollbar{width:0;height:0}#projectsStage .projects-stage-grid{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);grid-template-areas:"intro preview""points points";gap:clamp(3rem,4.8vw,5.5rem) clamp(2rem,3.8vw,4.25rem)}#projectsStage .projects-stage-card[data-layout=media-left] .projects-stage-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);grid-template-areas:"preview intro""points points"}#projectsStage .projects-stage-intro{align-self:start;max-width:33rem}.projects-stage-repo{align-self:start}.projects-stage-repo--desktop{justify-content:flex-start;margin-top:.5rem;margin-bottom:1.7rem;display:flex}.projects-stage-repo--mobile{display:none}.projects-preview-shell{padding-top:.2rem}.projects-preview-frame{max-width:46rem;margin-left:auto}#projectsStage .projects-stage-card[data-layout=media-left] .projects-preview-frame{margin-left:0;margin-right:auto}.projects-stage-points-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem 2.5rem}#labPortal[data-lab-section=pricing] #labContentViewport,#labPortal[data-lab-section=help] #labContentViewport{height:min(48rem,100vh - 9rem)}#labPortal[data-lab-section=work] .lab-panel[data-lab-panel=work]{overflow-y:hidden}.lab-nav-button{text-align:right}}@media(min-width:1280px){.notes-section-nav-desktop{display:flex}.notes-section-nav-mobile{display:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
