@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_8eaea4{font-family:Geist,Geist Fallback;font-style:normal}.__variable_8eaea4{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e038a29029a234f2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7d4881bb7e1bf84d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_8c25df{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_8c25df{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}

/*! 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)))){:host,:root{--shimmer-angle:20deg}*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-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-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-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{:host,:root{--spacing:.25rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--radius-md:calc(var(--radius) * .8);--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:"Geist","Geist Fallback",ui-sans-serif,system-ui,sans-serif;--default-mono-font-family:"Geist Mono","Geist Mono Fallback",ui-monospace,monospace}}@layer base{*,::backdrop,:after,:before{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}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-7{margin-top:calc(var(--spacing) * 7)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-14{height:calc(var(--spacing) * 14)}.min-h-screen{min-height:100vh}.w-3\/4{width:75%}.w-4\/5{width:80%}.w-28{width:calc(var(--spacing) * 28)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-xl{max-width:var(--container-xl)}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-4xl{border-radius:calc(var(--radius) * 2.6)}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md),10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md),12px)}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) * .8)}.border{border-style:var(--tw-border-style);border-width:1px}.border-border{border-color:var(--border)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-border{background-color:var(--border)}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--destructive) 10%,transparent)}}.bg-muted{background-color:var(--muted)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-clip-padding{background-clip:padding-box}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.underline-offset-4{text-underline-offset:4px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.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))}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab,var(--primary) 80%,transparent)}}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab,var(--destructive) 40%,transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-3:focus-visible,.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring) 50%,transparent)}}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/20:is(.dark *){background-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input) 30%,transparent)}}@media (hover:hover){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:color-mix(in oklab,var(--destructive) 30%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input) 50%,transparent)}}.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive) 40%,transparent)}}.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab,var(--destructive) 50%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive) 40%,transparent)}}.data-horizontal\:h-px:where([data-orientation=horizontal]){height:1px}.data-horizontal\:w-full:where([data-orientation=horizontal]){width:100%}.data-vertical\:w-px:where([data-orientation=vertical]){width:1px}.data-vertical\:self-stretch:where([data-orientation=vertical]){align-self:stretch}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}@media (hover:hover){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.\[a\]\:hover\:bg-muted:is(a):hover{background-color:var(--muted)}.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:color-mix(in oklab,var(--primary) 80%,transparent)}}.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.\[a\]\:hover\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3\!>svg{width:calc(var(--spacing) * 3)!important;height:calc(var(--spacing) * 3)!important}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}:root{--background:oklch(97.4% .009 286);--foreground:oklch(19% .025 274);--card:oklch(99.8% .002 286/.82);--card-foreground:oklch(19% .025 274);--popover:oklch(100% 0 0);--popover-foreground:oklch(19% .025 274);--primary:oklch(19% .025 274);--primary-foreground:oklch(99% .005 286);--secondary:oklch(94% .018 287);--secondary-foreground:oklch(26% .03 274);--muted:oklch(95% .012 286);--muted-foreground:oklch(49% .025 274);--accent:oklch(91% .055 296);--accent-foreground:oklch(31% .09 292);--destructive:oklch(58% .22 26);--border:oklch(87% .018 286/.82);--input:oklch(89% .016 286);--ring:oklch(63% .16 292);--radius:.8rem;--lilac:#8b6adb;--ink:#211f33}*{box-sizing:border-box;border-color:var(--border)}html{scroll-behavior:smooth;font-family:Geist,Geist Fallback,ui-sans-serif,system-ui,sans-serif}body,html{max-width:100%;height:100%;overflow:hidden}body{min-width:320px;color:var(--foreground);background-color:#0000;background-image:radial-gradient(circle at 12% 14%,#a0b2eb9e,#0000 34rem),radial-gradient(circle at 86% 22%,#b8e4d794,#0000 30rem),radial-gradient(circle at 72% 86%,#c0a9eb73,#0000 34rem),linear-gradient(145deg,#d8def0,#e4edf0 46%,#dce9e1);background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;margin:0;padding-block:16px}body:before{z-index:-1;pointer-events:none;content:"";opacity:.24;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E");position:fixed;inset:0}body>main.min-h-screen,body>main.state-page-error{z-index:1;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-color:#73669957 transparent;scrollbar-width:thin;outline-offset:-7px;-webkit-backdrop-filter:blur(4px)saturate(1.04);backdrop-filter:blur(4px)saturate(1.04);background:linear-gradient(#ffffff4d,#f6f5fa42),#f7f6fb1f;border:1px solid #ffffffb3;border-radius:30px;outline:1px solid #70669129;width:min(2200px,100% - 32px);height:calc(100dvh - 32px);min-height:0;margin-inline:auto;position:relative;overflow:hidden auto;box-shadow:0 45px 110px #2d304933,inset 0 0 0 1px #ffffffbd,inset 0 0 0 7px #897faa09}body>main.min-h-screen::-webkit-scrollbar,body>main.state-page-error::-webkit-scrollbar{width:9px}body>main.min-h-screen::-webkit-scrollbar-track,body>main.state-page-error::-webkit-scrollbar-track{background:0 0}body>main.min-h-screen::-webkit-scrollbar-thumb,body>main.state-page-error::-webkit-scrollbar-thumb{background:#73669957 padding-box padding-box;border:3px solid #0000;border-radius:999px}body>main.admin-shell{z-index:1;overscroll-behavior:contain;scrollbar-width:thin;outline-offset:-7px;border-radius:30px;outline:1px solid #70669129;width:min(2200px,100% - 32px);height:calc(100dvh - 32px);min-height:0;margin-inline:auto;position:relative;overflow:hidden auto;box-shadow:0 45px 110px #1918223d}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}svg{flex:none}.site-container{width:min(1540px,100% - 48px);margin-inline:auto}.page-glow{z-index:-1;filter:blur(90px);pointer-events:none;border-radius:999px;position:absolute}.page-glow-one{background:#b49fff38;width:34rem;height:26rem;top:5rem;right:-12rem}.page-glow-two{background:#cde1ff42;width:26rem;height:20rem;top:34rem;left:-15rem}.site-header{z-index:50;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#fafafdc7;border:1px solid #ffffffd1;border-radius:18px;grid-template-columns:1fr auto 1fr;align-items:center;min-height:70px;margin-top:18px;padding:10px 12px 10px 16px;display:grid;position:sticky;top:18px;box-shadow:0 14px 45px #2a284314,inset 0 0 0 1px #c8c5da66}.brand{align-items:center;gap:11px;width:max-content;display:inline-flex}.brand>span{background:var(--ink);color:#fff;letter-spacing:-.04em;border-radius:11px;place-items:center;width:38px;height:38px;font-weight:750;display:grid}.brand div{gap:1px;display:grid}.brand strong{letter-spacing:-.02em;font-size:.88rem}.brand small{color:var(--muted-foreground);font-size:.7rem}.desktop-nav{background:#edecf4b8;border-radius:13px;gap:4px;padding:4px;display:flex}.desktop-nav a{color:#626071;border-radius:10px;padding:9px 13px;font-size:.78rem;font-weight:560;transition:color .18s,background .18s,box-shadow .18s;position:relative}.desktop-nav a:focus-visible,.desktop-nav a:hover{color:var(--ink);background:#ffffffb8;outline:none}.desktop-nav a.is-active{color:var(--ink);background:#fffffff0;box-shadow:0 5px 15px #322f4814,inset 0 0 0 1px #69638714}.desktop-nav a.is-active:after{content:"";background:var(--lilac);border-radius:999px;width:4px;height:4px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.header-cta{border:1px solid var(--border);height:46px;color:var(--ink);background:#fff;border-radius:12px;justify-self:end;gap:8px;padding-inline:18px;box-shadow:0 8px 20px #2a284312}.header-cta:hover{background:var(--ink);color:#fff}.header-cta svg,.primary-cta svg,.secondary-cta svg{width:16px;height:16px}.mobile-menu{background:#ffffffdb;justify-self:end;display:none}.hero-grid{grid-template-columns:1.02fr .98fr;align-items:center;gap:54px;min-height:720px;padding:84px 42px 48px;display:grid}.hero-copy{min-width:0;max-width:650px}.eyebrow-badge{color:#7055bb;background:#ffffff80;border-color:#7f65d638;margin-bottom:26px;padding:7px 11px;font:.66rem Geist Mono,monospace}.eyebrow-badge,.section-kicker{text-transform:uppercase;letter-spacing:.12em}.section-kicker{color:#8063cf;margin:0 0 10px;font-size:.72rem;font-weight:700}.hero-copy h1{letter-spacing:-.072em;margin:0;font-size:clamp(3.65rem,5.3vw,5.35rem);font-weight:680;line-height:.96}.hero-copy h1 span{white-space:nowrap;display:block}.hero-role{color:var(--lilac);letter-spacing:-.045em;margin:20px 0 0;font-size:clamp(1.6rem,2.8vw,2.45rem);font-weight:620;line-height:1.1}.hero-summary{color:#626071;max-width:590px;margin:24px 0 0;font-size:1.03rem;line-height:1.72}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.primary-cta{background:var(--ink);color:#fff;border-radius:12px;gap:9px;min-height:48px;padding-inline:20px;box-shadow:0 12px 25px #1b192d29}.primary-cta:hover{background:#302d47;transform:translateY(-1px)}.secondary-cta{background:#ffffff9e;border-color:#7b769138;border-radius:12px;gap:9px;min-height:48px;padding-inline:20px}.secondary-cta:hover{background:#fff}.social-row{gap:9px;margin-top:27px;display:flex}.social-link{color:#6b6878;background:#ffffff8a;border:1px solid #7b76912b;border-radius:11px;place-items:center;width:40px;height:40px;transition:all .18s;display:grid}.social-link:focus-visible,.social-link:hover{color:var(--ink);outline-offset:2px;background:#fff;outline:2px solid #8b6adb59;transform:translateY(-2px)}.social-link svg{width:17px;height:17px}.portrait-column{place-items:end center;height:590px;display:grid;position:relative}.portrait-orbit{border:1px solid #8065cf3b;border-radius:47% 53% 45% 55%/56% 43% 57% 44%;position:absolute;inset:30px 18px 36px 56px;transform:rotate(-8deg)}.portrait-column:before{z-index:-1;background:conic-gradient(from 0deg,transparent 0 12%,#7b57cdd1 18%,#3086aab8 29%,transparent 38% 62%,#e6b86e9e 70%,#7b57cd94 82%,transparent 91%);border-radius:50% 44% 41% 52%/45% 55% 43% 57%;padding:2px;inset:18px 7px 22px 42px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.portrait-column:before,.portrait-orbit:before{content:"";pointer-events:none;position:absolute}.portrait-orbit:before{border-radius:inherit;background:radial-gradient(circle at 50% 0,#7658c4 0 4px,#0000 5px),radial-gradient(circle at 50% 100%,#3186a8 0 3px,#0000 4px);inset:-5px}.portrait-frame{background:radial-gradient(circle at 50% 30%,#f9f8ff 0,#e9e5f7 44%,#dcd7ec 100%);border-radius:44% 44% 26% 26%/35% 35% 19% 19%;width:min(500px,100%);height:535px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffbf,0 32px 60px #3531501c}.portrait-frame:before{z-index:1;content:"";border-radius:inherit;border:1px solid #ffffffad;position:absolute;inset:22px}.portrait-image{object-fit:contain;object-position:center bottom;transform:scale(1.04)}.portrait-note{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fdfdffc7;border:1px solid #ffffffe0;border-radius:15px;align-items:center;gap:10px;padding:13px 15px;display:flex;position:absolute;box-shadow:0 15px 35px #322e491c}.portrait-note span,.portrait-note strong{display:block}.portrait-note span{color:#777383;font-size:.68rem}.portrait-note strong{margin-top:2px;font-size:.8rem}.portrait-note svg{width:22px;color:var(--lilac)}.note-top{top:88px;right:18px}.note-bottom{bottom:74px;left:18px}.section-shell{background:#ffffff8c;border:1px solid #fffc;border-radius:24px;grid-template-columns:.9fr 1.1fr;align-items:center;gap:72px;margin-top:12px;padding:54px 58px;display:grid;box-shadow:inset 0 0 0 1px #cbc8da6b,0 24px 70px #3834520f}.contact-shell h2,.evidence-panel h2,.section-heading h2,.section-shell h2{letter-spacing:-.055em;margin:0;font-size:clamp(2.15rem,4vw,3.75rem);line-height:1.05}.about-copy>p,.contact-shell p,.evidence-panel>p,.section-heading>p,.stack-heading>p{color:#676474;font-size:1rem;line-height:1.75}.research-interests{background:linear-gradient(135deg,#ffffffb8,#f0edf994);border:1px solid #796aa826;border-radius:16px;margin-top:26px;padding:20px;box-shadow:inset 0 1px #fffc}.research-interests>span{color:#765ac2;font:700 .68rem var(--font-geist-mono),monospace;text-transform:uppercase;letter-spacing:.1em}.research-interests>div{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.research-interests small{color:#554d68;background:#ffffffb8;border:1px solid #745eb221;border-radius:8px;padding:7px 9px;font-size:.73rem}.research-interests p{color:#6b6678;margin:14px 0 0;font-size:.86rem;line-height:1.62}.text-link{align-items:center;gap:8px;margin-top:22px;font-size:.9rem;font-weight:650;display:inline-flex}.text-link svg{width:15px}.section-block{padding-block:104px 56px}.section-heading{grid-template-columns:1fr .75fr;align-items:end;gap:60px;margin-bottom:34px;display:grid}.section-heading>p{margin:0}.focus-grid{background:#ffffff47;border:1px solid #ffffffb8;border-radius:27px;grid-template-columns:repeat(4,1fr);gap:14px;padding:14px;display:grid;box-shadow:inset 0 0 0 1px #a09db41f}.focus-card{--focus-rgb:112,82,190;--focus-ink:#6f52ba;background:linear-gradient(145deg,rgba(var(--focus-rgb),.18),#ffffffad 64%);min-height:300px;box-shadow:inset 0 0 0 1px rgba(var(--focus-rgb),.1),0 14px 34px #34304b12;border:1px solid #ffffffd1;border-radius:19px;flex-direction:column;padding:24px;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s;display:flex;position:relative;overflow:hidden}.focus-card:before{content:"";background:radial-gradient(circle,rgba(var(--focus-rgb),.24),transparent 68%);border-radius:44% 56% 48% 52%;width:190px;height:190px;position:absolute;top:-72px;right:-58px;transform:rotate(-18deg)}.focus-card:after{content:"";background:linear-gradient(90deg,transparent,rgba(var(--focus-rgb),.8));width:52px;height:1px;box-shadow:-16px -7px 0 -.4px rgba(var(--focus-rgb),.28),-31px -14px 0 -.4px rgba(var(--focus-rgb),.16);position:absolute;bottom:18px;right:22px}.focus-card:first-child{--focus-rgb:33,154,119;--focus-ink:#167a5d}.focus-card:nth-child(2){--focus-rgb:43,128,181;--focus-ink:#236f9e}.focus-card:nth-child(3){--focus-rgb:126,86,205;--focus-ink:#7048b9}.focus-card:nth-child(4){--focus-rgb:218,146,58;--focus-ink:#a86118}.focus-card:hover{box-shadow:inset 0 0 0 1px rgba(var(--focus-rgb),.18),0 25px 52px #34304b21;transform:translateY(-7px)rotate(.15deg)}.focus-card-top{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.focus-icon{width:42px;height:42px;color:var(--focus-ink);box-shadow:inset 0 0 0 1px rgba(var(--focus-rgb),.18),0 8px 20px rgba(var(--focus-rgb),.1);background:#ffffffb8;border-radius:12px;place-items:center;display:grid}.focus-icon svg{width:19px}.focus-number{color:#a09daa;font:.75rem Geist Mono,monospace}.focus-card h3{z-index:1;color:var(--focus-ink);letter-spacing:-.025em;margin:auto 0 9px;font-size:1.12rem;position:relative}.focus-card p{z-index:1;color:#625f6d;margin:0;font-size:.88rem;line-height:1.58;position:relative}@media (prefers-reduced-motion:no-preference){.focus-card:before{animation:focus-orb-drift 7s ease-in-out infinite alternate}.focus-card:nth-child(2):before{animation-duration:8.5s;animation-delay:-1.8s}.focus-card:nth-child(3):before{animation-duration:6.8s;animation-delay:-3.1s}.focus-card:nth-child(4):before{animation-duration:9.2s;animation-delay:-4.4s}.focus-card:after{animation:focus-signal 3.8s ease-in-out infinite alternate}}@keyframes focus-orb-drift{0%{transform:translate(0)rotate(-18deg)scale(.92)}to{transform:translate(-18px,22px)rotate(18deg)scale(1.12)}}@keyframes focus-signal{0%{opacity:.35;transform:translate(8px)}to{opacity:1;transform:translate(-8px)}}.evidence-grid{grid-template-rows:1fr 1fr;grid-template-columns:1.25fr .75fr;gap:14px;padding-block:42px 104px;display:grid}.evidence-panel{background:#ffffff94;border:1px solid #ffffffd1;border-radius:21px;padding:32px;box-shadow:inset 0 0 0 1px #cdc9dc4d}.evidence-primary{background:radial-gradient(circle at 85% 12%,#b8a2ff38,#0000 40%),#ffffffa3;flex-direction:column;grid-row:1/span 2;justify-content:flex-end;min-height:480px;padding:48px;display:flex}.evidence-primary p:not(.section-kicker){max-width:660px}.evidence-tags{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.evidence-tags span{color:#665f78;background:#ffffffa3}.panel-icon{background:var(--ink);color:#fff;border-radius:12px;place-items:center;width:42px;height:42px;margin-bottom:30px;display:grid}.panel-icon svg{width:18px}.evidence-panel h3{letter-spacing:-.035em;margin:0;font-size:1.45rem}.evidence-panel>p{margin-bottom:0}.stack-shell{grid-template-columns:.76fr auto 1.24fr;margin-bottom:104px}.stack-heading h2{letter-spacing:-.05em;margin:0;font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.07}.stack-separator{background:#78748c29;height:100%;min-height:250px}.stack-groups{grid-template-columns:1fr 1fr;gap:28px 38px;display:grid}.stack-group h3{color:#7b5bc7;text-transform:uppercase;letter-spacing:.08em;margin:0 0 13px;font:.69rem Geist Mono,monospace}.stack-group>div{flex-wrap:wrap;gap:8px;display:flex}.stack-group span{color:#5e5a6c;background:#ffffff80;border:1px solid #79748f26;border-radius:9px;padding:8px 10px;font-size:.79rem}.contact-shell{color:#fff;background:radial-gradient(circle at 80% 25%,#a084ee5c,transparent 38%),var(--ink);border-radius:24px;justify-content:space-between;align-items:end;gap:50px;margin-bottom:28px;padding:60px;display:flex;box-shadow:0 28px 65px #1c192f2b}.contact-shell>div{max-width:760px}.contact-shell .section-kicker{color:#c5b2ff}.contact-shell p{color:#ffffffa8;max-width:650px}.contact-shell .primary-cta{color:var(--ink);box-shadow:none;background:#fff;flex:none}.contact-shell .primary-cta:hover{background:#eeeaf9}.site-footer{color:#797685;justify-content:space-between;align-items:end;gap:30px;padding:24px 4px 38px;display:flex}.site-footer>div{gap:3px;display:grid}.site-footer strong{color:var(--ink);font-size:.86rem}.site-footer p,.site-footer span{font-size:.76rem}.site-footer p{margin:0}.mobile-nav-layer{z-index:100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#1f1d303d;justify-content:flex-end;animation:mobile-nav-fade .2s both;display:flex;position:fixed;inset:0}.mobile-sheet{background:radial-gradient(circle at 100% 0,#ad93eb33,#0000 34%),linear-gradient(#fbfafe,#f1eff7);border-left:1px solid #ffffffbf;flex-direction:column;width:min(88vw,410px);height:100%;padding:18px 20px 22px;animation:mobile-nav-enter .28s cubic-bezier(.2,.75,.2,1) both;display:flex;position:relative;overflow-y:auto;box-shadow:-28px 0 80px #211f3333}.mobile-nav-close{width:42px;height:42px;color:var(--ink);cursor:pointer;background:#ffffffb8;border:1px solid #655f7e24;border-radius:12px;place-items:center;padding:0;display:grid;position:absolute;top:18px;right:18px}.mobile-nav-close:focus-visible,.mobile-nav-close:hover{outline-offset:2px;background:#fff;outline:2px solid #8b6adb57}.mobile-nav-close svg{width:18px;height:18px}.mobile-sheet-header{border-bottom:1px solid #635f741f;flex-direction:row;align-items:center;gap:11px;padding:0 54px 22px 0;display:flex}.mobile-sheet-mark{color:#fff;background:var(--ink);letter-spacing:-.04em;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font-weight:760;display:grid}.mobile-sheet-header small,.mobile-sheet-header strong{display:block}.mobile-sheet-header strong{letter-spacing:-.02em;font-size:.9rem;font-weight:700}.mobile-sheet-header small{color:#787384;margin-top:3px;font-size:.71rem}.mobile-sheet-links{gap:7px;margin-block:24px;display:grid}.mobile-sheet-links a{color:#5f5a6b;border:1px solid #0000;border-radius:13px;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;min-height:62px;padding:12px 13px;transition:all .18s;display:grid}.mobile-sheet-links a>span{color:#aaa4b5;font:.67rem var(--font-geist-mono),monospace}.mobile-sheet-links a>strong{letter-spacing:-.02em;font-size:.95rem}.mobile-sheet-links a>svg{opacity:.4;width:16px}.mobile-sheet-links a:focus-visible,.mobile-sheet-links a:hover{background:#ffffffad;border-color:#7e62c429;outline:none}.mobile-sheet-links a.is-active{color:var(--ink);background:#fff;border-color:#7e62c433;box-shadow:0 11px 28px #35304d14}.mobile-sheet-links a.is-active>span,.mobile-sheet-links a.is-active>svg{color:var(--lilac);opacity:1}.mobile-sheet-contact{background:#ffffff9e;border:1px solid #7764a924;border-radius:15px;gap:12px;margin-top:auto;padding:17px;display:grid}.mobile-sheet-contact>span{color:#6e687b;font-size:.77rem;line-height:1.5}.mobile-sheet-contact .primary-cta{width:100%;min-height:46px}@keyframes mobile-nav-fade{0%{opacity:0}to{opacity:1}}@keyframes mobile-nav-enter{0%{opacity:.7;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@media (max-width:1020px){.site-header{grid-template-columns:minmax(0,1fr) auto}.desktop-nav,.header-cta{display:none}.mobile-menu{display:inline-flex}.hero-grid{grid-template-columns:1fr;padding-top:72px}.hero-copy{max-width:760px}.hero-copy h1{max-width:12ch}.portrait-column{width:min(620px,100%);margin-inline:auto}.focus-grid{grid-template-columns:1fr 1fr}.section-shell{gap:40px;padding:46px}.stack-shell{grid-template-columns:.8fr 1.2fr}.stack-separator{display:none}}@media (max-width:720px){body,html{height:auto;overflow:hidden auto}body{padding-block:0}body>main.admin-shell,body>main.min-h-screen,body>main.state-page-error{width:100%;height:auto;min-height:100vh;box-shadow:none;border:0;border-radius:0;overflow:hidden visible}.site-container{width:min(100% - 24px,1540px)}.site-header{border-radius:16px;min-height:62px;margin-top:10px;padding:8px 9px 8px 12px;top:10px}.brand{min-width:0}.brand>span{width:36px;height:36px}.brand div{display:none}.hero-grid{gap:42px;min-height:auto;padding:68px 4px 24px}.eyebrow-badge{margin-bottom:20px}.hero-copy h1{letter-spacing:-.065em;font-size:2.55rem}.hero-role{max-width:20ch;font-size:1.32rem}.hero-summary{max-width:36ch;font-size:.98rem}.hero-actions{grid-template-columns:1fr;display:grid}.hero-actions>*{width:100%;min-width:0}.portrait-column{height:480px}.portrait-frame{height:445px}.portrait-orbit{inset:25px 8px 24px 30px}.note-top{top:44px;right:6px}.note-bottom{bottom:36px;left:6px}.section-shell{grid-template-columns:1fr;gap:24px;padding:32px 24px}.section-block{padding-block:80px 34px}.section-heading{grid-template-columns:1fr;gap:16px;margin-bottom:24px}.research-interests{margin-top:20px;padding:17px}.focus-grid{border-radius:22px;grid-template-columns:1fr;padding:8px}.focus-card{min-height:230px}.evidence-grid{grid-template-rows:auto;grid-template-columns:1fr;padding-block:34px 80px}.evidence-primary{grid-row:auto;min-height:430px;padding:34px 26px}.evidence-panel{padding:27px 24px}.stack-shell{grid-template-columns:1fr;margin-bottom:80px}.stack-groups{grid-template-columns:1fr;gap:24px}.contact-shell{padding:38px 26px}.contact-shell,.site-footer{flex-direction:column;align-items:flex-start}.site-footer{gap:16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-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-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-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}@keyframes pulse{50%{opacity:.5}}.page-glow-layer{position:absolute;inset:0;z-index:-1;width:100%;max-width:100vw;overflow:hidden;pointer-events:none}.ambient-research-field{position:fixed;inset:0;z-index:0;opacity:1;filter:saturate(1.08) contrast(1.04);pointer-events:none;-webkit-mask-image:radial-gradient(ellipse at center,#000 12%,rgba(0,0,0,.76) 62%,transparent 94%);mask-image:radial-gradient(ellipse at center,#000 12%,rgba(0,0,0,.76) 62%,transparent 94%)}.ambient-research-field svg{width:100%;max-width:100vw;height:100%;display:block;overflow:hidden}.ambient-filament-field{transform-box:fill-box;transform-origin:62% 64%}.ambient-filament{stroke:url(#ambient-filament-gradient);stroke-linecap:round}.ambient-filament,.ambient-filament-signal{fill:none;vector-effect:non-scaling-stroke;filter:url(#ambient-filament-glow)}.ambient-filament-signal{stroke:#5b75d0;stroke-width:2.4;stroke-linecap:round;stroke-dasharray:.65 99.35}.ambient-filament-endpoint{fill:#22958e;filter:url(#ambient-filament-glow)}@media (prefers-reduced-motion:no-preference){.ambient-filament-field{animation:ambient-filament-drift 18s ease-in-out infinite alternate}.ambient-filament-signal{animation:ambient-filament-travel 11s linear infinite}body>main{animation:page-enter .5s cubic-bezier(.22,.8,.28,1) both}.site-header{animation:header-enter .62s cubic-bezier(.22,.8,.28,1) .04s both}.hero-copy>*{animation:hero-copy-enter .72s cubic-bezier(.18,.82,.3,1) both}.hero-copy>:first-child{animation-delay:.12s}.hero-copy>:nth-child(2){animation-delay:.18s}.hero-copy>:nth-child(3){animation-delay:.24s}.hero-copy>:nth-child(4){animation-delay:.32s}.hero-copy>:nth-child(5){animation-delay:.4s}.hero-copy>:nth-child(6){animation-delay:.48s}.hero-copy>:nth-child(7){animation-delay:.56s}.portrait-column{animation:portrait-enter .9s cubic-bezier(.18,.82,.3,1) .18s both}.portrait-orbit{animation:orbit-drift 14s ease-in-out 1.1s infinite alternate}.portrait-column:before{animation:portrait-border-roll 24s linear infinite}.portrait-orbit:before{animation:orbit-marker 9s linear infinite}.portrait-note{animation:note-float 5.5s ease-in-out 1.05s infinite alternate}.note-bottom{animation-delay:1.55s;animation-direction:alternate-reverse}.page-glow-one{animation:glow-drift-one 18s ease-in-out infinite alternate}.page-glow-two{animation:glow-drift-two 22s ease-in-out infinite alternate}}@keyframes ambient-filament-drift{0%{transform:translate3d(-.35%,.45%,0) rotate(-.28deg) scale(1.005)}to{transform:translate3d(.45%,-.4%,0) rotate(.32deg) scale(1.012)}}@keyframes ambient-filament-travel{0%{stroke-dashoffset:0}to{stroke-dashoffset:-100}}.featured-grid>:nth-child(2),.index-grid>:nth-child(2),.software-showcase-grid>:nth-child(2){--reveal-delay:80ms}.featured-grid>:nth-child(3),.index-grid>:nth-child(3),.software-showcase-grid>:nth-child(3){--reveal-delay:150ms}.index-grid>:nth-child(4){--reveal-delay:220ms}.index-grid>:nth-child(5){--reveal-delay:290ms}.index-grid>:nth-child(6){--reveal-delay:360ms}.social-link{position:relative}.social-tooltip{position:absolute;top:calc(100% + 7px);left:50%;z-index:1;transform:translateX(-50%);padding:5px 9px;border-radius:7px;background:var(--ink);color:white;font-size:.75rem;font-weight:600;line-height:1.4;white-space:nowrap;visibility:hidden;pointer-events:none}.social-link:focus-visible .social-tooltip{visibility:visible}@media (hover:hover){.social-link:hover .social-tooltip{visibility:visible}}.home-page{position:relative;isolation:isolate;overflow-x:clip}.brand{min-height:44px}.social-link{width:44px;height:44px}.desktop-nav a{display:inline-flex;align-items:center}.desktop-nav a,.text-link{min-height:44px}.site-footer nav a{min-width:44px;min-height:44px;padding-inline:7px;display:inline-flex;align-items:center;justify-content:center}.section-heading-action{grid-template-columns:minmax(0,1fr) auto}.featured-grid,.index-grid,.software-showcase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.index-grid{padding-bottom:96px}.work-card{position:relative;min-height:410px;padding:26px;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.82);border-radius:22px;background:rgba(255,255,255,.68);box-shadow:inset 0 0 0 1px rgba(199,196,214,.35),0 20px 55px rgba(45,41,69,.06);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}.work-card:after{position:absolute;top:0;left:0;width:42%;height:1px;content:"";opacity:.72;background:linear-gradient(90deg,transparent,rgba(119,86,199,.85),rgba(46,132,168,.65),transparent);transform:translateX(-130%);animation:card-edge-travel 6.8s ease-in-out infinite}.work-card:before{position:absolute;inset:0;z-index:-1;content:"";opacity:.82;background:radial-gradient(circle at 90% 5%,rgba(171,146,239,.2),transparent 38%)}.work-card-blue:before{background:radial-gradient(circle at 90% 5%,rgba(135,189,231,.22),transparent 40%)}.work-card-sand:before{background:radial-gradient(circle at 90% 5%,rgba(231,195,142,.22),transparent 40%)}.work-card:hover{transform:translateY(-5px);box-shadow:inset 0 0 0 1px rgba(199,196,214,.4),0 28px 70px rgba(45,41,69,.11)}.work-card:hover .work-card-body h3{color:#5f43aa}.work-card-body h3{transition:color .25s ease}.work-card-title-link{display:inline;outline-offset:5px}.work-card-title-link:after{position:absolute;inset:0;content:"";z-index:1}.work-card-title-link:focus-visible{outline:2px solid #7658c4;border-radius:5px}.work-card-footer,.work-card-meta{position:relative;z-index:2}.work-card-large{grid-column:span 2;min-height:470px}.work-card-footer,.work-card-meta{display:flex;align-items:center;justify-content:space-between;gap:18px}.work-card-meta{align-items:flex-start}.work-card-meta>span{color:#9691a4;font:.72rem var(--font-geist-mono),monospace}.work-card-meta [data-slot=badge]{width:auto;max-width:min(82%,620px);height:auto;min-height:1.5rem;flex-shrink:1;overflow:visible;padding:5px 10px;white-space:normal;text-align:right;line-height:1.35;color:#6f667e;background:rgba(255,255,255,.56)}.work-card-body{margin-block:auto;padding-block:30px}.work-card-body h3{max-width:22ch;margin:0;font-size:clamp(1.65rem,2.7vw,2.65rem);line-height:1.05;letter-spacing:-.052em}.work-card-body p{max-width:63ch;margin:17px 0 0;color:#696575;line-height:1.7}.work-card-footer{align-items:end}.tag-list{display:flex;flex-wrap:wrap;gap:7px}.certificate-skills span,.tag-list span{padding:7px 9px;border:1px solid rgba(111,105,130,.14);border-radius:8px;background:rgba(255,255,255,.54);color:#656070;font-size:.72rem}.round-link{width:45px;height:45px;display:grid;place-items:center;flex:none;border-radius:50%;background:var(--ink);color:white;transition:transform .22s ease,background .22s ease}.round-link:hover{transform:rotate(8deg) scale(1.06);background:#7055bb}.round-link svg{width:17px}.work-card-with-preview{min-height:550px}.work-card-with-preview .work-card-body{width:100%}.work-card-with-preview .work-card-body h3{margin-top:25px}.work-card-with-signal{min-height:500px}.research-signal{position:relative;height:156px;margin:-2px 0 27px;overflow:hidden;border:1px solid rgba(117,88,190,.12);border-radius:15px;background:radial-gradient(circle at 80% 20%,rgba(74,144,174,.12),transparent 34%),linear-gradient(135deg,rgba(244,241,255,.92),rgba(237,246,249,.8))}.research-signal svg{width:100%;height:100%;display:block}.research-signal>span{position:absolute;right:13px;bottom:10px;color:rgba(63,60,78,.55);font:600 .58rem var(--font-geist-mono),monospace;text-transform:uppercase;letter-spacing:.12em}.signal-grid{fill:none;stroke:rgba(83,78,104,.07);stroke-width:1}.research-signal svg>g:not(.signal-grid){fill:none;stroke:url(#signal-document);stroke-width:1.7;vector-effect:non-scaling-stroke}.research-signal-audit svg>g:not(.signal-grid){stroke:url(#signal-audit)}.research-signal-education svg>g:not(.signal-grid){stroke:url(#signal-education)}.research-signal-face svg>g:not(.signal-grid){stroke:url(#signal-face)}.research-signal-forecast svg>g:not(.signal-grid){stroke:url(#signal-forecast)}.research-signal-medical svg>g:not(.signal-grid){stroke:url(#signal-medical)}.research-signal-optimizer svg>g:not(.signal-grid){stroke:url(#signal-optimizer)}.signal-highlight{fill:rgba(48,132,168,.13);stroke:rgba(48,132,168,.55)}.signal-flow{stroke-dasharray:8 10;animation:signal-flow 3.2s linear infinite}.signal-pulse{fill:rgba(120,88,198,.3);transform-box:fill-box;transform-origin:center;animation:signal-pulse 2.4s ease-in-out infinite}.signal-delay{animation-delay:1.1s}.signal-ring{stroke-dasharray:8 7;transform-box:fill-box;transform-origin:center;animation:signal-ring 16s linear infinite}.signal-landmarks circle{fill:rgba(45,132,168,.42);stroke:none;animation:signal-landmark 3s ease-in-out infinite alternate}.signal-chart{stroke-width:2.4;stroke-dasharray:350;stroke-dashoffset:350;animation:signal-draw 5s ease-in-out infinite}.signal-contour{fill:rgba(118,87,195,.1);animation:signal-contour 4s ease-in-out infinite alternate}.signal-scan{stroke-width:2;animation:signal-scan 4s ease-in-out infinite}.software-section{margin-block:54px 38px;padding:72px 34px 46px;border:1px solid rgba(255,255,255,.08);border-radius:30px;color:white;background:radial-gradient(circle at 12% 18%,rgba(126,92,206,.3),transparent 33%),radial-gradient(circle at 90% 72%,rgba(36,126,158,.2),transparent 32%),#201c31;box-shadow:0 30px 80px rgba(29,25,47,.17)}.software-section .section-kicker{color:#bfa9f6}.software-section .section-heading>p{color:rgba(255,255,255,.63)}.software-section .secondary-cta{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:white}.software-section .secondary-cta:hover{background:rgba(255,255,255,.15)}.software-section .work-card{color:var(--ink);background:rgba(251,250,255,.93)}.project-preview{--preview-rotate-x:0deg;--preview-rotate-y:0deg;--preview-light-x:50%;--preview-light-y:0%;position:relative;overflow:hidden;border:1px solid rgba(99,94,119,.15);border-radius:15px;background:radial-gradient(circle at var(--preview-light-x) var(--preview-light-y),rgba(255,255,255,.95),transparent 42%),#f7f6fa;box-shadow:0 18px 40px rgba(39,36,60,.1);transform:perspective(900px) rotateX(var(--preview-rotate-x)) rotateY(var(--preview-rotate-y));transform-style:preserve-3d;transition:transform .18s ease-out,box-shadow .28s ease;will-change:transform}.project-preview:hover{box-shadow:0 24px 55px rgba(39,36,60,.14)}.preview-window-bar{min-height:38px;padding:0 13px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid #e3e0ea;background:rgba(255,255,255,.88);color:#777283;font-size:.64rem}.preview-window-bar>span{display:flex;gap:5px}.preview-window-bar i{width:7px;height:7px;display:block;border-radius:50%;background:#d9d5e2}.preview-window-bar small{font-size:inherit;font-weight:650;color:#4e495c}.preview-window-bar em{justify-self:end;font-style:normal}.preview-tabs{padding:9px 10px 0;display:flex;gap:4px;border-bottom:1px solid #e5e2eb;background:#fbfafd}.preview-tabs button{position:relative;min-height:44px;padding:8px 11px;border:0;background:transparent;color:#868190;font:600 .66rem inherit;cursor:pointer;transition:color .2s ease}.preview-tabs button:after{position:absolute;right:50%;bottom:-1px;left:50%;height:2px;content:"";border-radius:99px;background:#7356c0;transition:right .24s ease,left .24s ease}.preview-tabs button.is-active{color:#2f2b3d}.preview-tabs button.is-active:after{right:8px;left:8px}.preview-canvas{min-height:175px;padding:21px;display:grid;place-items:center}.preview-panel-motion{width:100%;display:grid;place-items:center;animation:preview-in .38s cubic-bezier(.18,.82,.3,1) both}.preview-finance,.preview-import,.preview-jobs,.preview-mobile-screen,.preview-review,.preview-role,.preview-sicerdas{width:min(100%,410px)}.preview-import{padding:18px;display:grid;grid-template-columns:auto 1fr;gap:12px;border:1px dashed #c9c3d5;border-radius:12px;background:white}.preview-import>svg{width:25px;color:#7257bd}.preview-import span,.preview-import strong{display:block}.preview-import strong{font-size:.76rem}.preview-import span{margin-top:3px;color:#888291;font-size:.64rem}.preview-progress{grid-column:1/-1;height:5px;overflow:hidden;border-radius:99px;background:#efedf4}.preview-progress i{width:68%;height:100%;display:block;border-radius:inherit;background:#8063cf;animation:preview-progress 2.4s ease-in-out infinite alternate}.preview-review{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preview-jobs>div,.preview-review>div{padding:14px;border:1px solid #e6e2eb;border-radius:10px;background:white}.preview-jobs span,.preview-jobs strong,.preview-review span,.preview-review strong{display:block;font-size:.65rem}.preview-jobs span,.preview-review span{color:#8d8795}.preview-jobs strong,.preview-review strong{margin-top:5px;color:#373242}.preview-review button{grid-column:1/-1;padding:10px;display:flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:9px;background:#252236;color:white;font-size:.68rem}.preview-review button svg{width:13px}.preview-jobs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preview-jobs svg{width:18px;margin-bottom:10px;color:#765ac3}.preview-role{padding:18px;display:grid;grid-template-columns:auto 1fr;gap:3px 11px;border-radius:12px;background:#252236;color:white}.preview-role>svg{width:26px;grid-row:span 3;color:#c4b3f2}.preview-role small,.preview-role span{color:#aaa5b7;font-size:.64rem}.preview-role strong{font-size:1.35rem}.preview-role>div{grid-column:1/-1;margin-top:15px;display:flex;gap:6px}.preview-role i{height:4px;flex:1;border-radius:9px;background:#4e4963}.preview-role i:first-child{background:#9c7ce9}.preview-finance{padding:18px;border:1px solid #e5e0ec;border-radius:12px;background:white}.preview-finance>div:first-child{display:flex;align-items:center;gap:7px;color:#7d7787;font-size:.66rem}.preview-finance svg{width:18px;color:#7657c8}.preview-finance>strong{margin-top:8px;display:block;font-size:1.45rem;letter-spacing:-.04em}.project-preview-sicerdas .preview-canvas{min-height:340px;padding:12px;background:linear-gradient(145deg,#edf7f3,#f8f7fb)}.preview-sicerdas{position:relative;height:316px;overflow:hidden;border-radius:14px}.preview-sicerdas img{padding:8px;object-fit:contain;filter:drop-shadow(0 14px 18px rgba(21,54,48,.14))}.project-preview-doapagi .preview-canvas{min-height:340px;padding:12px;background:linear-gradient(145deg,#edf5ff,#f8f7fb)}.preview-mobile-screen{position:relative;height:316px;overflow:hidden;border-radius:14px}.preview-mobile-screen img{padding:8px;object-fit:contain;filter:drop-shadow(0 14px 18px rgba(27,73,127,.16))}.mini-bars{height:55px;margin-top:15px;display:flex;align-items:end;gap:5px}.mini-bars i{flex:1;border-radius:3px 3px 0 0;background:#b8a2ed;animation:bar-rise .6s cubic-bezier(.2,.8,.2,1) both;transform-origin:bottom}.mini-bars i:nth-child(2){animation-delay:40ms}.mini-bars i:nth-child(3){animation-delay:80ms}.mini-bars i:nth-child(4){animation-delay:.12s}.mini-bars i:nth-child(5){animation-delay:.16s}.mini-bars i:nth-child(6){animation-delay:.2s}.mini-bars i:nth-child(7){animation-delay:.24s}.experience-strip{margin-bottom:72px;padding:0 28px;display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid rgba(106,101,126,.13)}.experience-strip>div{min-height:118px;padding:25px 23px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(106,101,126,.12)}.experience-strip>div:last-child{border-right:0}.experience-strip span,.experience-strip strong{display:block}.experience-strip strong{font-size:1.02rem;letter-spacing:-.02em;background:linear-gradient(90deg,#211f33,#7658c4,#211f33);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}.experience-strip span{margin-top:6px;color:#7b7686;font-size:.72rem;line-height:1.45}.experience-section{padding-block:105px 25px}.experience-heading{margin-bottom:36px;display:grid;grid-template-columns:1fr .7fr;align-items:end;gap:50px}.experience-heading h2{margin:0;max-width:16ch;font-size:clamp(2.2rem,4vw,3.8rem);line-height:1.02;letter-spacing:-.06em}.experience-heading>p{margin:0;color:#6c6877;line-height:1.7}.experience-list{border-top:1px solid rgba(99,94,119,.18)}.experience-row{margin-inline:-10px;padding:31px 20px;display:grid;grid-template-columns:55px 155px minmax(0,1fr) auto;align-items:start;gap:25px;border-bottom:1px solid rgba(99,94,119,.18);border-radius:16px;transition:background .22s ease,transform .22s ease}.experience-row:hover{background:rgba(255,255,255,.42);transform:translateX(3px)}.experience-index{color:#aaa5b2;font:.72rem var(--font-geist-mono),monospace}.experience-period{display:flex;align-items:center;gap:8px;color:#716c7b;font-size:.76rem}.experience-period i{width:18px;height:1px;background:#bdb7c7}.experience-copy>span{color:#765ac2;font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.experience-copy h3{margin:8px 0 10px;font-size:1.55rem;letter-spacing:-.035em}.experience-copy p{max-width:760px;margin:0;color:#686474;line-height:1.65}.experience-highlights{margin:18px 0 0;padding:0;display:grid;list-style:none;color:#686474;font-size:.86rem;line-height:1.6}.experience-highlights li{position:relative;min-height:46px;padding-bottom:12px;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:12px}.experience-highlights li:last-child{min-height:32px;padding-bottom:0}.experience-highlights li:not(:last-child):before{position:absolute;top:27px;bottom:1px;left:14px;width:1px;content:"";background:linear-gradient(rgba(124,91,194,.28),rgba(124,91,194,.06))}.experience-highlights span{position:relative;z-index:1;width:29px;height:29px;display:grid;place-items:center;border:1px solid rgba(120,88,190,.18);border-radius:9px;color:#7557bd;background:#f6f3fc;font:700 .62rem var(--font-geist-mono),monospace}.experience-highlights p{margin:3px 0 0;color:#686474;font-size:.86rem;line-height:1.6}.experience-copy>div{margin-top:15px;display:flex;flex-wrap:wrap;gap:7px}.experience-copy small{padding:6px 8px;border-radius:7px;background:#efedf5;color:#625c70}.experience-row>svg{width:17px;color:#8f8998}.certificates-callout{margin-bottom:104px;padding:34px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:25px;border-block:1px solid rgba(99,94,119,.17)}.certificates-callout .panel-icon{margin:0}.certificates-callout h2{margin:0;font-size:clamp(1.55rem,2.4vw,2.35rem);letter-spacing:-.04em}.certificates-callout p:not(.section-kicker){max-width:690px;margin-bottom:0;color:#6d6878;line-height:1.6}.page-intro{padding-block:105px 70px}.page-intro .back-link{min-height:44px;margin-bottom:55px;display:inline-flex;align-items:center;gap:7px;color:#777181;font-size:.8rem}.back-link svg{width:15px}.page-intro h1{max-width:980px;margin:0;font-size:clamp(3rem,6vw,6rem);line-height:.96;letter-spacing:-.072em}.detail-page .page-intro h1{max-width:1180px;font-size:clamp(2.65rem,4.25vw,4.8rem);line-height:.99;letter-spacing:-.058em;text-wrap:balance}.page-intro>p:last-child{max-width:760px;margin:28px 0 0;color:#686474;font-size:1.04rem;line-height:1.75}.case-study-nav{position:sticky;top:104px;z-index:35;margin-bottom:36px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid rgba(255,255,255,.85);border-radius:14px;background:rgba(247,246,250,.84);box-shadow:0 12px 36px rgba(41,37,62,.07);backdrop-filter:blur(18px)}.case-study-nav>a{min-height:44px;display:inline-flex;align-items:center;color:#383344;font-size:.76rem;font-weight:700}.case-study-nav>div{display:flex;gap:4px}.case-study-nav,.explorer-tabs{scrollbar-width:none}.case-study-nav::-webkit-scrollbar,.explorer-tabs::-webkit-scrollbar{width:0;height:0;display:none}.case-study-nav>div a{min-height:44px;padding:8px 11px;display:inline-flex;align-items:center;border-radius:8px;color:#777181;font-size:.72rem}.case-study-nav>div a:hover{background:white;color:#302b3d}.case-study-stage{margin-bottom:56px;padding:32px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);align-items:center;gap:46px;border:1px solid rgba(255,255,255,.86);border-radius:24px;background:rgba(255,255,255,.58);box-shadow:inset 0 0 0 1px rgba(201,197,216,.35)}.case-study-stage .project-preview{min-width:0}.case-study-stage h2{margin:0;font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.04;letter-spacing:-.05em}.case-study-stage>div:last-child>p:last-child{color:#6d6878;line-height:1.7}.detail-layout{padding-bottom:100px;display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:28px}.detail-article{min-width:0;display:grid;gap:14px}.detail-article>section,.research-explorer{scroll-margin-top:185px;padding:38px;border:1px solid rgba(255,255,255,.84);border-radius:21px;background:rgba(255,255,255,.62);box-shadow:inset 0 0 0 1px rgba(201,197,216,.32)}.detail-article .abstract-copy{margin:0;color:#494554;font-size:clamp(1.16rem,2vw,1.45rem);line-height:1.7;letter-spacing:-.018em}.detail-aside{min-width:0;position:sticky;top:175px;padding:25px;display:grid;gap:26px;border:1px solid rgba(255,255,255,.84);border-radius:20px;background:rgba(255,255,255,.68);box-shadow:inset 0 0 0 1px rgba(201,197,216,.3)}.detail-aside>div>span{margin-bottom:8px;display:block;color:#918b9a;font-size:.67rem;text-transform:uppercase;letter-spacing:.09em}.detail-aside strong{font-size:.92rem;line-height:1.45}.detail-aside ul{margin:0;padding-left:17px;color:#625e6d;font-size:.8rem;line-height:1.55}.detail-tags{display:flex;flex-wrap:wrap;gap:6px}.detail-tags [data-slot=badge]{white-space:normal;color:#5f596c;background:rgba(255,255,255,.7)}.detail-actions{display:grid;gap:8px}.detail-actions .primary-cta{width:100%;justify-content:space-between;white-space:normal}.explorer-heading{display:grid;grid-template-columns:1fr .8fr;align-items:end;gap:38px}.explorer-heading h2{margin:0;font-size:clamp(2rem,3.4vw,3rem);letter-spacing:-.05em}.explorer-heading>p{margin:0;color:#6b6675;line-height:1.65}.explorer-tabs{max-width:100%;margin-top:32px;padding:5px;display:flex;gap:4px;overflow-x:auto;border-radius:11px;background:#eeecf3}.explorer-tabs button{min-width:90px;padding:10px 14px;border:0;border-radius:8px;background:transparent;color:#767180;font:650 .75rem inherit;cursor:pointer}.explorer-tabs button.is-active{background:white;color:#302b3e;box-shadow:0 3px 12px rgba(45,40,67,.08)}.explorer-panel{min-height:270px;padding-top:32px;outline:none}.explorer-panel-content{animation:explorer-panel-in .36s cubic-bezier(.18,.82,.3,1) both}.explorer-prose{display:grid;grid-template-columns:auto 1fr;gap:18px}.explorer-methods>svg,.explorer-prose svg{width:24px;color:#795bc8}.explorer-prose p{margin:0;color:#494554;font-size:1.13rem;line-height:1.8}.explorer-methods{display:grid;grid-template-columns:auto 1fr;gap:10px 18px}.explorer-methods>svg{grid-row:1/span 8}.explorer-methods span{padding-bottom:10px;display:flex;gap:15px;border-bottom:1px solid rgba(105,99,124,.12);color:#514c5c}.explorer-methods em{color:#aaa4b2;font:normal .68rem var(--font-geist-mono),monospace}.finding-list{display:grid;gap:10px}.finding-list>div{padding:15px 17px;display:grid;grid-template-columns:auto 1fr;gap:12px;border:1px solid rgba(98,93,117,.12);border-radius:12px;background:rgba(255,255,255,.5)}.finding-list svg{width:18px;color:#6f55b9}.finding-list p{margin:0;color:#5f5a69;line-height:1.6}.limits-list svg{color:#a16b43}.certificates-shell{padding-bottom:100px}.certificate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.certificate-card{padding:24px;border:1px solid rgba(255,255,255,.82);border-radius:20px;background:rgba(255,255,255,.64);box-shadow:inset 0 0 0 1px rgba(201,197,216,.3)}.certificate-image{position:relative;height:240px;margin-bottom:20px;display:block;overflow:hidden;border-radius:12px;background:#f5f3ee}.certificate-image img{padding:8px;object-fit:contain;transition:transform .28s ease}.certificate-image:hover img{transform:scale(1.018)}.certificate-image-rotated img{transform:rotate(-90deg) scale(1.34)}.certificate-image-rotated:hover img{transform:rotate(-90deg) scale(1.37)}.certificate-card>span{color:#765ac2;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.certificate-card h2{margin:9px 0 7px;font-size:1.35rem;letter-spacing:-.03em}.certificate-date{color:#797381;font-size:.8rem}.certificate-summary{margin-top:12px;color:#625d6d;font-size:.86rem;line-height:1.55}.certificate-skills{margin-block:17px;display:flex;flex-wrap:wrap;gap:6px}.verified-empty{max-width:750px;margin-inline:auto;padding:70px 45px;text-align:center;border:1px solid rgba(255,255,255,.82);border-radius:22px;background:rgba(255,255,255,.6)}.empty-icon{width:52px;height:52px;margin:0 auto 22px;display:grid;place-items:center;border-radius:15px;background:#ebe6f8;color:#765ac2}.empty-icon svg{width:23px}.verified-empty h2{margin:0;font-size:clamp(1.8rem,3vw,2.8rem);letter-spacing:-.045em}.verified-empty>p:not(.section-kicker){color:#6d6878;line-height:1.7}.loading-shell{padding-block:110px}.loading-shell>div:first-child{max-width:780px}.loading-grid{margin-top:70px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.loading-grid>*{height:290px;border-radius:20px}.state-page{min-height:70vh;max-width:760px;padding-block:130px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.state-page h1{margin:0;font-size:clamp(2.6rem,5vw,5rem);line-height:1;letter-spacing:-.065em}.state-page>p:not(.section-kicker){max-width:620px;color:#6a6574;line-height:1.7}.state-page-error{width:min(760px,calc(100% - 40px));margin-inline:auto}.site-footer nav{display:flex;flex-wrap:wrap;gap:17px;font-size:.76rem}.site-footer nav a:hover{color:var(--ink)}@keyframes preview-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes preview-progress{0%{width:42%}to{width:84%}}@keyframes bar-rise{0%{transform:scaleY(.05)}to{transform:scaleY(1)}}@keyframes page-enter{0%{opacity:.01}to{opacity:1}}@keyframes header-enter{0%{opacity:0;transform:translateY(-18px) scale(.985)}to{opacity:1;transform:none}}@keyframes hero-copy-enter{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes portrait-enter{0%{opacity:0;transform:translateY(26px) scale(.975)}to{opacity:1;transform:none}}@keyframes orbit-drift{0%{transform:rotate(-8deg) scale(.985);border-radius:47% 53% 45% 55%/56% 43% 57% 44%}to{transform:rotate(-3deg) scale(1.015);border-radius:52% 48% 54% 46%/45% 55% 47% 53%}}@keyframes note-float{0%{transform:translateY(0)}to{transform:translateY(-7px)}}@keyframes glow-drift-one{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-38px,42px,0) scale(1.08)}}@keyframes glow-drift-two{0%{transform:translateZ(0) scale(.96)}to{transform:translate3d(46px,-24px,0) scale(1.08)}}@keyframes explorer-panel-in{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes portrait-border-roll{to{transform:rotate(1turn)}}@keyframes orbit-marker{to{transform:rotate(1turn)}}@keyframes card-edge-travel{0%,12%{transform:translateX(-130%);opacity:0}25%,72%{opacity:.8}88%,to{transform:translateX(340%);opacity:0}}@keyframes signal-flow{to{stroke-dashoffset:-72}}@keyframes signal-pulse{0%,to{opacity:.35;transform:scale(.72)}50%{opacity:1;transform:scale(1.18)}}@keyframes signal-ring{to{transform:rotate(1turn)}}@keyframes signal-landmark{0%{opacity:.4}to{opacity:1}}@keyframes signal-draw{0%,15%{stroke-dashoffset:350}60%,to{stroke-dashoffset:0}}@keyframes signal-contour{0%{opacity:.28;transform:scale(.94);transform-origin:center}to{opacity:.85;transform:scale(1.04);transform-origin:center}}@keyframes signal-scan{0%,to{transform:translateY(-34px)}50%{transform:translateY(42px)}}@media (max-width:980px){.experience-strip{grid-template-columns:1fr 1fr}.experience-strip>div:nth-child(2){border-right:0}.experience-strip>div:nth-child(-n+2){border-bottom:1px solid rgba(106,101,126,.12)}.case-study-stage,.detail-layout{grid-template-columns:1fr}.detail-aside{position:static}.certificate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.brand,.mobile-menu{min-width:44px;min-height:44px}.portrait-orbit{right:16px}.experience-heading,.featured-grid,.index-grid,.section-heading-action,.software-showcase-grid{grid-template-columns:1fr}.work-card-large{grid-column:auto}.work-card{min-height:390px;padding:21px}.work-card-with-preview{min-height:535px}.work-card-with-signal{min-height:470px}.ambient-research-field{opacity:.9}.software-section{padding:55px 18px 28px;border-radius:24px}.experience-strip{margin-bottom:45px;padding-inline:0}.experience-strip>div{min-height:100px;padding:18px 14px}.experience-section{padding-top:80px}.experience-row{grid-template-columns:35px 1fr auto;gap:14px}.experience-period{grid-column:2/-1;grid-row:1}.experience-copy{grid-column:2/-1}.experience-row>svg{grid-column:3;grid-row:1}.certificates-callout{grid-template-columns:auto 1fr;padding:27px 5px}.certificates-callout>a{grid-column:1/-1}.page-intro{padding-block:80px 48px}.detail-page .page-intro h1{font-size:clamp(2.2rem,9.5vw,3rem);line-height:1.02;letter-spacing:-.052em}.page-intro .back-link{margin-bottom:38px}.case-study-nav{top:82px;overflow-x:auto}.case-study-nav>a{display:none}.case-study-nav>div{min-width:max-content}.case-study-stage{padding:19px;gap:28px}.detail-article>section,.research-explorer{padding:25px 20px}.research-explorer{min-width:0;overflow:hidden}.explorer-heading{gap:12px}.certificate-grid,.explorer-heading,.explorer-prose,.loading-grid{grid-template-columns:1fr}.verified-empty{padding:50px 24px}}@media (prefers-reduced-motion:reduce){.project-preview{transform:none!important;will-change:auto}.experience-strip strong,.explorer-panel-content,.mini-bars i,.portrait-column:before,.portrait-orbit:before,.preview-panel-motion,.preview-progress,.research-signal *,.work-card:after{animation:none!important}}@media (max-width:760px),(pointer:coarse){html{overflow-y:auto!important;overscroll-behavior-y:auto}body,html{height:auto;overflow-x:clip!important}body{min-height:100%;overflow-y:visible!important;background-attachment:scroll}body>main.admin-shell,body>main.min-h-screen,body>main.state-page-error{height:auto!important;min-height:100svh;overflow-x:clip!important;overflow-y:visible!important;overscroll-behavior-y:auto;scrollbar-gutter:auto;touch-action:pan-y;-webkit-overflow-scrolling:touch;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.ambient-research-field{opacity:.48!important;filter:none!important;contain:strict;pointer-events:none!important}.ambient-filament,.ambient-filament-endpoint,.ambient-filament-field,.ambient-filament-signal,.ambient-research-field svg{animation:none!important;filter:none!important}.ambient-filament-signal{display:none!important}.focus-card:after,.focus-card:before,.hero-copy>*,.page-glow-one,.page-glow-two,.portrait-column,.portrait-column:before,.portrait-note,.portrait-orbit,.portrait-orbit:before,.preview-progress>i,.signal-chart,.signal-contour,.signal-flow,.signal-landmarks circle,.signal-pulse,.signal-ring,.signal-scan,.site-header,.work-card:after,body>main{animation:none!important}.page-glow{filter:blur(48px)}.case-study-nav,.portrait-note,.site-header{-webkit-backdrop-filter:none;backdrop-filter:none}.ambient-research-field svg{animation:mobile-ambient-drift 24s ease-in-out 1.2s infinite alternate!important;will-change:transform}.portrait-column:before{animation:portrait-border-roll 28s linear 1.2s infinite!important;will-change:transform}.portrait-note{animation:note-float 7s ease-in-out 1.4s infinite alternate!important;will-change:transform}.note-bottom{animation-delay:2.1s!important;animation-direction:alternate-reverse!important}.focus-card:before{animation:focus-orb-drift 10s ease-in-out infinite alternate!important;will-change:transform}}@keyframes mobile-ambient-drift{0%{transform:translate3d(-.45%,.3%,0) scale(1.012)}to{transform:translate3d(.45%,-.3%,0) scale(1.018)}}@media (prefers-reduced-motion:reduce){.ambient-research-field *,.focus-card:after,.focus-card:before,.portrait-column:before,.portrait-note,.portrait-orbit,.portrait-orbit:before,.preview-progress>i,.research-signal *{animation:none!important}}