@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/85fcf895b86d74a6-s.12xb_oat076h..woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5307092570128b5a-s.0dld-t76zw9ln.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b67966e0b83b2cd0-s.p.04y9-s23ppywx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_1c703339-module__YBKb9q__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_1c703339-module__YBKb9q__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6e8df35dd937fa7a-s.05uvaxv85y..0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fc2699ecc8323b38-s.0gyljc-fku7zg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa0520225c6f3d07-s.p.0_88erakuzr64.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6e8df35dd937fa7a-s.05uvaxv85y..0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fc2699ecc8323b38-s.0gyljc-fku7zg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa0520225c6f3d07-s.p.0_88erakuzr64.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6e8df35dd937fa7a-s.05uvaxv85y..0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fc2699ecc8323b38-s.0gyljc-fku7zg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fa0520225c6f3d07-s.p.0_88erakuzr64.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans Fallback;src:local(Arial);ascent-override:90.59%;descent-override:21.46%;line-gap-override:0.0%;size-adjust:104.87%}.public_sans_de78efd1-module__s8BSkG__className{font-family:Public Sans,Public Sans Fallback;font-style:normal}.public_sans_de78efd1-module__s8BSkG__variable{--font-public-sans:"Public Sans", "Public Sans Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_686cf84e-module__YTH0YG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_686cf84e-module__YTH0YG__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--rainbow-c:#7333ff}*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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-ease:initial}}}@layer theme{:root,:host{--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-body)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace),monospace;font-feature-settings:normal;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}:-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{.invisible{visibility:hidden}.visible{visibility:visible}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.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,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,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))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}html{scroll-behavior:smooth}:root{--font-display:var(--font-fraunces),Georgia,serif;--font-body:var(--font-public-sans),-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;--font-mono:var(--font-jetbrains-mono),ui-monospace,monospace;--ease-out-quart:cubic-bezier(.25,1,.5,1);--ease-out-expo:cubic-bezier(.16,1,.3,1);--scroll:0%;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--text-xs:.75rem;--text-sm:.9375rem;--text-base:1.0625rem;--text-md:1.3125rem;--text-lg:1.625rem;--text-xl:clamp(2rem,4vw,2.5rem);--text-2xl:clamp(2.75rem,7vw,4.75rem);--surface-1:#ffffff08;--surface-2:#ffffff0f;--surface-drawer:#0f1324eb;--border-1:#ffffff14;--border-2:#ffffff29;--dark:#0a0e1a;--light:#f5f5f7;--gray:#8892b0;--gray-2:#c2c8d6;--pink:#f39;--pink-base:255,51,153;--blue:#39f;--blue-base:51,153,255;--purple:#73f;--purple-base:115,51,255;--box-shadow-blur:20px;--primary:var(--purple);--secondary:#00d9ff;--accent:var(--purple);--accent-rgb:var(--purple-base);--opacity:1;--border-opacity:1;--shadow-opacity:.5;--background-opacity:1;--color-opacity:1;--border-width:1px;--mask-edge:#0003;--mask-center:#000000d9;--mask-image:linear-gradient(to right,transparent 0%,var(--mask-edge)14%,var(--mask-center)50%,var(--mask-edge)86%,transparent 100%);--mask-image-background:linear-gradient(to bottom,transparent 0%,var(--mask-center)20%,var(--mask-center)80%,transparent 100%)}@property --rainbow-c{syntax:"<color>";inherits:true;initial-value:#7333ff}@keyframes rainbow-color{0%,to{--rainbow-c:#7333ff}33%{--rainbow-c:#39f}66%{--rainbow-c:#f39}}@keyframes rainbow-background{0%{background:rgba(var(--purple-base),var(--background-opacity));box-shadow:0 5px var(--box-shadow-blur)rgba(var(--purple-base),var(--shadow-opacity))}33%{background:rgba(var(--blue-base),var(--background-opacity));box-shadow:0 5px var(--box-shadow-blur)rgba(var(--blue-base),var(--shadow-opacity))}66%{background:rgba(var(--pink-base),var(--background-opacity));box-shadow:0 5px var(--box-shadow-blur)rgba(var(--pink-base),var(--shadow-opacity))}to{background:rgba(var(--purple-base),var(--background-opacity));box-shadow:0 5px var(--box-shadow-blur)rgba(var(--purple-base),var(--shadow-opacity))}}@keyframes rainbow-border{0%{border-color:rgba(var(--purple-base),var(--border-opacity));box-shadow:0 5px var(--box-shadow-blur)rgba(var(--purple-base),var(--shadow-opacity))}33%{border-color:rgba(var(--blue-base),var(--border-opacity));box-shadow:0 5px var(--box-shadow-blur)rgba(var(--blue-base),var(--shadow-opacity))}66%{border-color:rgba(var(--pink-base),var(--border-opacity));box-shadow:0 5px var(--box-shadow-blur)rgba(var(--pink-base),var(--shadow-opacity))}to{border-color:rgba(var(--purple-base),var(--border-opacity));box-shadow:0 5px var(--box-shadow-blur)rgba(var(--purple-base),var(--shadow-opacity))}}*{box-sizing:border-box}body{background-color:var(--dark);color:var(--light);font-family:var(--font-body);font-feature-settings:"kern","liga","calt";font-size:var(--text-base);line-height:1.6}::selection{background:rgba(var(--purple-base),.4);color:var(--light)}.skip-link{top:var(--space-3);left:var(--space-3);padding:var(--space-2)var(--space-4);background:var(--accent);color:var(--light);z-index:200;border-radius:6px;font-weight:600;transition:transform .2s ease-out;position:fixed;transform:translateY(-200%)}.skip-link:focus{outline:2px solid var(--light);outline-offset:2px;transform:translateY(0)}.container{max-width:60rem;padding:0 var(--space-8);width:100%;margin:0 auto}header{padding:var(--space-6)0;z-index:10;width:100%;transition:background .3s,padding .3s;position:fixed;top:0}header.scrolled{border-bottom:1px solid var(--border-1);-webkit-backdrop-filter:none;padding:var(--space-3)0;background:#0a0e1aeb;box-shadow:0 2px 18px #00000040}.container-anchor{scroll-margin-top:var(--space-24)}nav{justify-content:space-between;align-items:center;display:flex}.logo{font-family:var(--font-display);font-size:var(--text-md);letter-spacing:-.02em;padding:var(--space-2);--border-opacity:0;border:1px solid #0000;font-weight:600;text-decoration:none;transition:--border-opacity .3s;animation:30s linear infinite rainbow-border;display:inline-block;position:relative}.logo>span{transition:opacity .3s}.logo-active{opacity:0}.logo-base{opacity:1}.logo:is(:hover,:focus,:focus-visible){--border-opacity:1;outline:none}.logo:is(:hover,:focus,:focus-visible) .logo-active{opacity:1}.logo:is(:hover,:focus,:focus-visible) .logo-base{opacity:0}.logo-active .last-name,.logo-base .first-name{color:var(--rainbow-c);animation:30s linear infinite rainbow-color}.logo-active .first-name,.logo-base .last-name{color:var(--light)}.logo-active{opacity:0;inset:var(--space-2);position:absolute}.logo:after{content:"";z-index:-1;height:50%;transition:height .3s,bottom .3s,top .3s;animation:30s linear infinite rainbow-background;position:absolute;top:50%;left:0;right:0}.logo:is(:hover,:focus,:focus-visible):after{top:0}.logo span{line-height:1;display:block}.nav-links{align-items:center;gap:var(--space-6);display:flex}.nav-links a.nav-cta{padding:var(--space-2)var(--space-4);border:1px solid var(--border-2);font-size:var(--text-sm);border-radius:999px;transition:border-color .2s,color .2s,background .2s}.nav-links a.nav-cta:is(:hover,:focus,:focus-visible){border-color:var(--accent);background:rgba(var(--purple-base),.06);color:var(--light)}.nav-links a.nav-cta:after,.nav-links a.nav-cta .colored-link{display:none}.nav-links a{color:var(--light);font-weight:500;font-size:var(--text-base);text-decoration:none;transition:color .3s;position:relative}.nav-links .colored-link{color:var(--rainbow-c);z-index:1;opacity:0;animation:6s linear infinite rainbow-color;position:absolute;left:0}.nav-links .white-link,.nav-links .colored-link{transition:opacity .3s}.nav-links a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}.nav-links a:is(:hover,:focus,:focus-visible) .white-link{opacity:0}.nav-links a:is(:hover,:focus,:focus-visible) .colored-link{opacity:1}.link{color:var(--accent);white-space:nowrap;transition:color .2s;position:relative}.link strong{color:inherit}.link:is(:hover,:focus,:focus-visible){color:var(--secondary);outline:none}.nav-links a:after,.link:after{content:"";background:var(--accent);height:2px;-webkit-mask-image:var(--mask-image);-webkit-mask-image:var(--mask-image);-webkit-mask-image:var(--mask-image);mask-image:var(--mask-image);-webkit-mask-image:var(--mask-image);border-radius:1px;transition:width .3s,background .3s;position:absolute;bottom:-3px;left:50%;transform:translate(-50%)}.nav-links a:after{width:0}.link:after{width:100%}.nav-links a:is(:hover,:focus,:focus-visible):after{background:linear-gradient(90deg,rgba(var(--purple-base),1),rgba(var(--blue-base),1),rgba(var(--pink-base),1));width:125%}.link:is(:hover,:focus,:focus-visible):after{background:var(--secondary);width:115%}.menu-toggle{border:1px solid var(--border-2);color:var(--light);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;transition:border-color .2s,background .2s;display:none}.menu-toggle:is(:hover,:focus-visible){border-color:var(--accent);background:var(--surface-1);outline:none}.menu-toggle svg{width:1.25rem;height:1.25rem}.hero{align-items:center;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero:before{content:"";background:rgba(var(--purple-base),1);filter:blur(80px);opacity:.18;z-index:-1;border-radius:50%;width:27rem;height:27rem;animation:22s ease-in-out infinite hero-drift;position:absolute;top:-5.5rem;right:-5.5rem}.hero-content{max-width:40rem}.hero-title{font-family:var(--font-display);font-size:var(--text-2xl);font-feature-settings:"kern","liga","ss01";margin-bottom:var(--space-6);letter-spacing:-.025em;color:var(--accent);font-weight:500;line-height:1.02}.hero-subtitle{font-size:var(--text-md);color:var(--gray-2);margin-bottom:var(--space-8);max-width:40rem}.hero-subtitle strong{color:var(--light);font-family:var(--font-display);letter-spacing:-.005em;font-size:1.08em;font-style:italic;font-weight:500}.hero-actions{gap:var(--space-3);margin-bottom:var(--space-8);flex-wrap:wrap;align-items:center;display:flex}.trust-strip{padding-top:var(--space-6);margin-top:auto}.trust-strip-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--gray);margin-bottom:var(--space-3);font-weight:500}.trust-strip-companies{gap:var(--space-3)var(--space-6);color:var(--light);font-family:var(--font-mono);letter-spacing:.02em;font-weight:500;font-size:var(--text-base);flex-wrap:wrap;align-items:center;display:flex}.trust-strip-companies span{opacity:.85;transition:opacity .2s,color .2s;position:relative}.trust-strip-companies span:after{content:"";background:linear-gradient(90deg,rgba(var(--purple-base),1),rgba(var(--blue-base),1),rgba(var(--pink-base),1));width:0;height:1.5px;-webkit-mask-image:var(--mask-image);-webkit-mask-image:var(--mask-image);-webkit-mask-image:var(--mask-image);mask-image:var(--mask-image);-webkit-mask-image:var(--mask-image);transition:width .4s var(--ease-out-expo);border-radius:1px;position:absolute;bottom:-3px;left:50%;transform:translate(-50%)}.trust-strip-companies span:hover:after{width:125%}.trust-strip-companies span:hover{color:var(--light);opacity:1}section{padding:var(--space-16)0}.section-eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-3);font-weight:500}.section-title{font-family:var(--font-display);font-weight:500;font-size:var(--text-xl);margin-bottom:var(--space-12);color:var(--light);letter-spacing:-.015em;line-height:1.1;display:inline-block;position:relative}.section-title:after{content:"";background:linear-gradient(90deg,rgba(var(--purple-base),1)0%,rgba(var(--blue-base),1)50%,rgba(var(--pink-base),1)100%);width:100%;height:3px;-webkit-mask-image:var(--mask-image);-webkit-mask-image:var(--mask-image);-webkit-mask-image:var(--mask-image);mask-image:var(--mask-image);-webkit-mask-image:var(--mask-image);transform-origin:0;transition:transform 1.4s var(--ease-out-expo).15s;border-radius:2px;position:absolute;bottom:-10px;left:0;transform:scaleX(0)}.section-title.is-visible:after{transform:scaleX(1)}.skills .section-title,.contact .section-title{margin-bottom:var(--space-8)}.about-grid{gap:var(--space-16);grid-template-columns:1fr 1fr;align-items:center;display:grid}.about-image-container{perspective:1000px;cursor:pointer;max-width:25rem;margin:0 auto}.about-image-container>img{opacity:0}.about-image-container:hover .about-image,.about-image-container:focus-visible .about-image,.about-image-container.flipped .about-image{transform:rotateY(180deg)}.about-image-container.flipped .about-image-flip-hint{opacity:1}.about-image{transform-style:preserve-3d;transition:transform .6s;position:absolute;inset:0}.about-image img{object-fit:cover;width:100%;height:100%}.about-image .back img{object-position:top;object-fit:cover;width:80%;height:100%;position:absolute;top:5%;left:10%}.about-image-inner-container{backface-visibility:hidden;border-radius:var(--space-4);position:absolute;inset:0;overflow:hidden}.about-image-inner-container.back{transform:rotateY(180deg)}.about-image-inner-container-back-content{width:100%;height:120%;position:absolute;top:-20%;overflow:hidden}.about-image-inner-container:before{content:"";z-index:1;background:linear-gradient(45deg,#6e00ff33,#00d9ff33);position:absolute;inset:0}.about-image-flip-hint{bottom:var(--space-3);z-index:2;align-items:center;gap:var(--space-1);padding:var(--space-1)var(--space-3);border:1px solid var(--border-1);color:var(--light);font-size:var(--text-xs);letter-spacing:.04em;opacity:0;pointer-events:none;transition:opacity .3s var(--ease-out-quart);background:#0f1324d9;border-radius:999px;font-weight:600;display:inline-flex;position:absolute;left:50%;transform:translate(-50%)}.about-image-container:hover .about-image-flip-hint,.about-image-container:focus-visible .about-image-flip-hint{opacity:1}.about-content p{margin-bottom:var(--space-6);color:var(--gray-2)}.about-content strong{color:var(--light);font-weight:600}.skills-stack{gap:var(--space-4);flex-direction:column;max-width:52rem;display:flex}.skills-anchor{font-family:var(--font-display);font-size:var(--text-md);color:var(--light);margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--border-1);letter-spacing:-.01em;font-weight:500}.skill-row{gap:var(--space-6);padding:var(--space-3)0;border-bottom:1px solid var(--border-1);grid-template-columns:11rem 1fr;align-items:baseline;display:grid;position:relative}.skill-row:last-child{border-bottom:none}.skill-row-label{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--accent);letter-spacing:.02em;text-transform:uppercase;font-weight:500}.skill-row-items{font-size:var(--text-sm);color:var(--gray-2);line-height:1.7}.skill-row-items .item{display:inline-block}.skill-row-items .item+.item:before{content:"·";color:var(--gray);margin:0 var(--space-2);opacity:.6}.skill-row-items .item.primary{color:var(--light);font-weight:600}.competencies-strip{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-1);gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.competencies-strip-label{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--gray);margin-right:var(--space-2);font-weight:500}.competency-chip{font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--space-1)var(--space-3);background:var(--surface-1);border:1px solid var(--border-1);color:var(--gray-2);letter-spacing:.02em;border-radius:4px;font-weight:500;transition:border-color .2s,color .2s,background .2s}.competency-chip:hover{border-color:rgba(var(--purple-base),.5);color:var(--light);background:var(--surface-2)}.exp-list{margin:0;padding:0;list-style:none}.exp-row{gap:var(--space-6);padding:var(--space-6)0;border-top:1px solid var(--border-1);grid-template-columns:6rem 1fr;align-items:start;display:grid;position:relative}.exp-row:last-of-type{border-bottom:1px solid var(--border-1)}.exp-row[hidden]{display:none}.exp-row-legacy{padding:var(--space-4)0}.exp-row-legacy .exp-head h3{font-size:var(--text-base);color:var(--gray-2);font-weight:400}.exp-row-legacy .exp-meta{margin-bottom:0}.exp-row:before{content:"";background:linear-gradient(90deg,rgba(var(--purple-base),1),rgba(var(--blue-base),1),rgba(var(--pink-base),1));width:0;height:1px;transition:width .5s var(--ease-out-expo);position:absolute;top:-1px;left:0}.exp-year,.exp-body{transition:transform .35s var(--ease-out-quart)}.exp-row:hover:before{width:100%}.exp-row:hover .exp-year,.exp-row:hover .exp-body{transform:translateX(var(--space-3))}.exp-year{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500;font-size:var(--text-sm);padding-top:var(--space-1);letter-spacing:.02em;white-space:nowrap;flex-direction:column;gap:2px;display:flex}.exp-year-start{color:var(--gray-2)}.exp-year-end{color:var(--gray)}.exp-head{align-items:baseline;gap:var(--space-2)var(--space-3);margin-bottom:var(--space-1);flex-wrap:wrap;display:flex}.exp-head h3{font-family:var(--font-display);font-weight:500;font-size:var(--text-md);color:var(--light);letter-spacing:-.01em;margin:0;line-height:1.25}.exp-now-pip{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;text-transform:uppercase;padding:2px var(--space-2);background:rgba(var(--purple-base),.14);color:var(--accent);border-radius:999px;font-weight:500;line-height:1.4;display:inline-block}.exp-meta{align-items:baseline;gap:var(--space-1)var(--space-2);color:var(--gray);font-size:var(--text-sm);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.exp-company{color:var(--light);font-weight:600}.exp-client{font-family:var(--font-display);color:var(--gray-2);font-style:italic;font-weight:400}.about-content em,.about-content i{font-family:var(--font-display);font-style:italic}.exp-duration{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-weight:500}.exp-dot{color:#fff3}.exp-desc{color:var(--gray-2);margin-bottom:var(--space-3);max-width:42rem;font-size:var(--text-base)}.exp-tags{gap:var(--space-1);flex-wrap:wrap;display:flex}.exp-tracks{gap:var(--space-4);margin-bottom:var(--space-3);flex-direction:column;display:flex}.exp-track-meta{align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-1);color:var(--gray);flex-wrap:wrap;display:flex}.exp-track-dates{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-weight:500;font-size:var(--text-sm)}.exp-track-client{font-family:var(--font-display);color:var(--gray-2);font-style:italic;font-weight:400;font-size:var(--text-base)}.exp-track-role{font-size:var(--text-sm);color:var(--gray-2)}.exp-track-desc{color:var(--gray-2);max-width:42rem;font-size:var(--text-base)}.exp-timeline{gap:var(--space-1);margin-top:var(--space-2);opacity:0;transition:opacity .35s var(--ease-out-quart);flex-direction:column;display:flex}.exp-row:hover .exp-timeline,.exp-row:focus-within .exp-timeline{opacity:1}.exp-timeline-row{align-items:center;column-gap:var(--space-3);grid-template-columns:5rem 12rem auto;display:grid}.exp-timeline-client{font-family:var(--font-display);font-style:italic;font-size:var(--text-sm);color:var(--gray-2);text-align:right}.exp-timeline-track{width:100%;height:4px;display:block;position:relative}.exp-timeline-bar{left:calc(var(--bar-start,0)*100%);width:calc(var(--bar-w,0)*100%);background:var(--rainbow-c);transform-origin:0;height:100%;transition:transform calc(var(--bar-w,0)*1.2s)var(--ease-out-quart)calc(var(--bar-start,0)*1.2s);border-radius:1px;animation:30s linear infinite rainbow-color;display:block;position:absolute;transform:scaleX(0)}.exp-row:hover .exp-timeline-bar,.exp-row:focus-within .exp-timeline-bar{transform:scaleX(1)}.exp-timeline-dates{font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--gray)}@media (max-width:480px){.exp-timeline-row{column-gap:var(--space-2);grid-template-columns:4rem 7rem auto}.exp-timeline-dates{font-size:10px}}@media (prefers-reduced-motion:reduce){.exp-timeline{transition:none}.exp-timeline-bar{transition:none;transform:scaleX(1)}}.exp-tag{padding:2px var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);background:var(--surface-1);border:1px solid var(--border-1);color:var(--gray-2);letter-spacing:.02em;border-radius:4px;font-weight:500;transition:border-color .2s,color .2s}.exp-row:hover .exp-tag{border-color:rgba(var(--purple-base),.35)}.exp-toggle-row{margin-top:var(--space-6);display:flex}.exp-toggle{font-family:var(--font-mono);font-weight:500;font-size:var(--text-sm);letter-spacing:.02em}.btn{background:linear-gradient(135deg,rgba(var(--purple-base),1),rgba(var(--blue-base),1));color:var(--light);padding:var(--space-3)var(--space-6);font-family:var(--font-body);letter-spacing:.01em;cursor:pointer;transition:transform .2s var(--ease-out-expo),box-shadow .2s ease,border-color .2s ease,color .2s ease,background .2s ease;font-weight:500;font-size:var(--text-sm);box-shadow:0 4px 18px rgba(var(--purple-base),.35);border:1px solid #0000;border-radius:999px;line-height:1.4;text-decoration:none;display:inline-block}.btn:is(:hover,:focus-visible){box-shadow:0 8px 24px rgba(var(--purple-base),.5);outline:none;transform:translateY(-2px)}.btn-secondary,.btn-outline{border:1px solid var(--border-2);box-shadow:none;color:var(--light);background:0 0}.btn-secondary:is(:hover,:focus-visible),.btn-outline:is(:hover,:focus-visible){border-color:var(--accent);color:var(--accent);background:rgba(var(--purple-base),.06);box-shadow:none;transform:translateY(-2px)}.projects-legend{font-size:var(--text-sm);color:var(--gray);margin-bottom:var(--space-6);max-width:42rem}.projects-grid{grid-template-columns:1fr;gap:0;padding:0;list-style:none;display:grid}.project-row{gap:var(--space-6);padding:var(--space-6)0;border-top:1px solid var(--border-1);grid-template-columns:6rem 1fr;align-items:start;display:grid;position:relative}.project-year,.project-body{transition:transform .35s var(--ease-out-quart)}.project-row:hover .project-year,.project-row:hover .project-body{transform:translateX(var(--space-3))}.project-row:last-child{border-bottom:1px solid var(--border-1)}.project-row:before{content:"";background:linear-gradient(90deg,rgba(var(--purple-base),1),rgba(var(--blue-base),1),rgba(var(--pink-base),1));width:0;height:1px;transition:width .5s var(--ease-out-expo);position:absolute;top:-1px;left:0}.project-row:hover:before{width:100%}.project-row:hover{padding-left:var(--space-3)}.project-year{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500;font-size:var(--text-sm);padding-top:var(--space-1);letter-spacing:.02em;white-space:nowrap;flex-direction:column;gap:2px;display:flex}.project-year-start{color:var(--gray-2)}.project-year-end{color:var(--gray)}.project-head{align-items:baseline;gap:var(--space-2)var(--space-3);margin-bottom:var(--space-1);flex-wrap:wrap;display:flex}.project-head h3{font-family:var(--font-display);font-weight:500;font-size:var(--text-md);color:var(--light);letter-spacing:-.01em;margin:0;line-height:1.25}.project-role-badge{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent);letter-spacing:.02em;text-transform:uppercase;padding:var(--space-1)var(--space-2);background:rgba(var(--purple-base),.08);border-radius:4px;font-weight:500;display:inline-block}.project-client{color:var(--gray);font-size:var(--text-sm);margin-bottom:var(--space-3)}.project-desc{color:var(--gray-2);margin-bottom:var(--space-3);max-width:42rem;font-size:var(--text-base)}.project-tags{gap:var(--space-1);flex-wrap:wrap;display:flex}.project-tag{padding:2px var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);background:var(--surface-1);border:1px solid var(--border-1);color:var(--gray-2);letter-spacing:.02em;border-radius:4px;font-weight:500;transition:border-color .2s,color .2s}.project-row:hover .project-tag{border-color:rgba(var(--purple-base),.35)}.project-row-lead{padding:var(--space-8)0}.project-row-lead .project-head h3{font-size:var(--text-lg)}.project-row-lead:after{content:"";background:var(--accent);border-radius:2px;width:3rem;height:3px;position:absolute;top:-2px;left:0}.contact{text-align:center;max-width:36rem;margin:0 auto}.contact p{color:var(--gray-2);margin-bottom:var(--space-8)}.contact-cta{font-family:var(--font-body);font-size:var(--text-base);margin-bottom:var(--space-2);color:var(--gray-2);letter-spacing:0;max-width:32rem;margin-left:auto;margin-right:auto;font-weight:400;line-height:1.5}.contact-email{font-family:var(--font-mono);font-size:var(--text-md);color:var(--accent);margin-bottom:var(--space-8);border-bottom:1px dashed #7333ff4d;padding-bottom:2px;font-weight:500;text-decoration:none;transition:color .2s;display:inline-block;position:relative;overflow:hidden}.contact-email:after{content:"";background:linear-gradient(90deg,rgba(var(--purple-base),1),rgba(var(--blue-base),1),rgba(var(--pink-base),1));width:100%;height:1px;transition:transform .55s var(--ease-out-expo);position:absolute;bottom:-2px;left:0;transform:translate(-101%)}.contact-email:is(:hover,:focus-visible){color:var(--secondary);outline:none}.contact-email:is(:hover,:focus-visible):after{transform:translate(0)}.social-links{justify-content:center;gap:var(--space-3);margin-bottom:var(--space-12);flex-wrap:wrap;display:flex}.social-links a{width:2.75rem;height:2.75rem;font-size:var(--text-md);background:var(--surface-1);border:1px solid var(--border-1);color:var(--gray-2);border-radius:50%;justify-content:center;align-items:center;transition:border-color .2s,color .2s,transform .2s,background .2s;display:inline-flex;position:relative}.social-links a:is(:hover,:focus-visible){color:var(--accent);border-color:var(--accent);background:rgba(var(--purple-base),.08);outline:none;transform:translateY(-2px)}.social-links a:after{content:"";background:radial-gradient(circle,rgba(var(--purple-base),.3),transparent 70%);opacity:0;transition:opacity .3s var(--ease-out-quart);z-index:-1;border-radius:50%;position:absolute;inset:-2px}.social-links a:hover:after,.social-links a:focus-visible:after{opacity:1}footer{padding:var(--space-12)0 var(--space-6);color:var(--gray);font-size:var(--text-sm);border-top:1px solid var(--border-1)}.footer-grid{gap:var(--space-12);margin-bottom:var(--space-8);grid-template-columns:1fr 1fr;align-items:start;display:grid}.footer-col h4{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--light);margin-bottom:var(--space-3);font-weight:500}.footer-col p,.footer-col li{font-size:var(--text-sm);color:var(--gray-2);line-height:1.6}.footer-col ul{gap:var(--space-1);flex-direction:column;list-style:none;display:flex}.footer-col a{color:var(--gray-2);text-decoration:none;transition:color .2s}.footer-col a:hover,.footer-col a:focus-visible{color:var(--accent);outline:none}.footer-link{align-items:center;gap:.25rem;display:inline-flex}.footer-link-arrow{opacity:.45;width:.75rem;height:.75rem;transition:opacity .2s ease,transform .25s var(--ease-out-quart)}.footer-link:hover .footer-link-arrow,.footer-link:focus-visible .footer-link-arrow{opacity:1;transform:translate(2px,-2px)}.footer-status{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--gray-2);letter-spacing:.04em;font-weight:600;display:inline-flex}.footer-meta-line{font-family:var(--font-body);font-size:var(--text-sm);color:var(--gray-2);font-weight:400;display:inline-block}.footer-back-to-top{color:var(--gray-2);font-size:var(--text-sm);transition:color .2s ease,transform .25s var(--ease-out-quart);align-items:center;gap:.25rem;text-decoration:none;display:inline-flex}.footer-back-to-top svg{width:.875rem;height:.875rem;transition:transform .25s var(--ease-out-quart)}.footer-back-to-top:hover,.footer-back-to-top:focus-visible{color:var(--accent);outline:none}.footer-back-to-top:hover svg,.footer-back-to-top:focus-visible svg{transform:translateY(-3px)}.hero-eyebrow{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--gray-2);margin-bottom:var(--space-4);font-weight:500;display:inline-flex}.hero-eyebrow .dot,.footer-status .dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:.4375rem;height:.4375rem;display:inline-block}.footer-bottom{justify-content:space-between;align-items:center;gap:var(--space-4);padding-top:var(--space-6);border-top:1px solid var(--border-1);font-size:var(--text-xs);color:var(--gray);flex-wrap:wrap;display:flex}.footer-bottom .sep{color:#ffffff26;margin:0 var(--space-2)}.back-to-top{bottom:var(--space-8);right:var(--space-8);background:linear-gradient(135deg,rgba(var(--purple-base),1),rgba(var(--blue-base),1));width:2.75rem;height:2.75rem;color:var(--light);font-size:var(--text-md);cursor:pointer;opacity:0;visibility:hidden;z-index:100;box-shadow:0 4px 18px rgba(var(--purple-base),.35);border:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .3s,transform .2s,box-shadow .2s,visibility .3s;display:flex;position:fixed}.back-to-top.show{opacity:1;visibility:visible}.back-to-top:is(:hover,:focus-visible){box-shadow:0 8px 24px rgba(var(--purple-base),.5);outline:none;transform:translateY(-3px)}@keyframes btt-pop{0%{opacity:0;transform:scale(.6)}70%{opacity:1;transform:scale(1.02)}to{transform:scale(1)}}.back-to-top.show{animation:btt-pop .5s var(--ease-out-expo)}.icon{color:var(--accent);vertical-align:sub;stroke-width:1.5px;width:1rem;height:1rem;display:inline-block}.rainbow-color{color:var(--rainbow-c);animation:30s linear infinite rainbow-color}@keyframes cta-ping{0%,to{box-shadow:0 4px 18px rgba(var(--purple-base),.35);transform:translateY(0)}30%{box-shadow:0 10px 30px rgba(var(--purple-base),.55);transform:translateY(-2px)}}.btn.is-pinging{animation:cta-ping 1.6s var(--ease-out-expo)}@keyframes exp-row-highlight{0%{background:rgba(var(--purple-base),0)}25%{background:rgba(var(--purple-base),.1)}to{background:rgba(var(--purple-base),0)}}.exp-row.is-highlighted{animation:exp-row-highlight 1.8s var(--ease-out-expo)}.footer-clock{margin-top:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--gray);letter-spacing:.02em;font-variant-numeric:tabular-nums;display:inline-block}.rainbow-color svg path,.rainbow-color svg circle,.rainbow-color svg rect{stroke:currentColor!important}.phrases-block{padding:var(--space-8)0;justify-content:center;align-items:center;display:flex}.phrases-text{align-items:center;gap:var(--space-4);font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);letter-spacing:0;color:var(--gray-2);white-space:nowrap;font-weight:400;display:inline-flex}.phrases-text svg{flex-shrink:0;width:auto;height:2.25rem}@media (min-width:1024px){.phrases-text{font-size:1.875rem}.phrases-text svg{height:2.75rem}}.not-found{min-height:100vh;padding-top:var(--space-24);padding-bottom:var(--space-16);align-items:center;display:flex;position:relative;overflow:hidden}.not-found:before{content:"";background:rgba(var(--purple-base),1);filter:blur(80px);opacity:.18;z-index:-1;border-radius:50%;width:27rem;height:27rem;animation:22s ease-in-out infinite hero-drift;position:absolute;top:-5.5rem;right:-5.5rem}.not-found-title{max-width:36rem}.not-found .not-found-phrases{padding:var(--space-6)0 var(--space-8)}.not-found .hero-actions{margin-top:var(--space-4)}[data-reveal]{opacity:0;transition:opacity .85s var(--ease-out-expo),transform .85s var(--ease-out-expo);will-change:opacity,transform;transform:translateY(22px)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}[data-reveal][data-delay="1"]{transition-delay:80ms}[data-reveal][data-delay="2"]{transition-delay:.16s}[data-reveal][data-delay="3"]{transition-delay:.24s}[data-reveal][data-delay="4"]{transition-delay:.32s}[data-reveal][data-delay="5"]{transition-delay:.4s}[data-reveal][data-delay="6"]{transition-delay:.48s}.section-title[data-reveal]:after{transition:transform 1.4s var(--ease-out-expo).35s}.scroll-progress{z-index:11;pointer-events:none;background:#ffffff08;height:2px;position:fixed;top:0;left:0;right:0}.scroll-progress-fill{width:var(--scroll,0%);background:linear-gradient(90deg,rgba(var(--purple-base),1),rgba(var(--blue-base),1),rgba(var(--pink-base),1));height:100%;box-shadow:0 0 12px rgba(var(--purple-base),.5);transition:width 80ms linear}@keyframes hero-rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.hero-content>*{opacity:0;animation:hero-rise .95s var(--ease-out-expo)forwards}.hero-content>:first-child{animation-delay:50ms}.hero-content>:nth-child(2){animation-delay:.18s}.hero-content>:nth-child(3){animation-delay:.3s}.hero-content>:nth-child(4){animation-delay:.42s}.hero-content>:nth-child(5){animation-delay:.55s}@keyframes hero-drift{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-1.5rem,1rem)scale(1.08)}}.hero-atmosphere{z-index:-1;pointer-events:none;opacity:.95;width:100%;height:100%;animation:hero-atmo-in 1.2s var(--ease-out-expo)both;position:absolute;inset:0;-webkit-mask-image:radial-gradient(140% 110% at 92% 8%,#000 0%,#000000d9 35%,#00000073 65%,#0000 100%);mask-image:radial-gradient(140% 110% at 92% 8%,#000 0%,#000000d9 35%,#00000073 65%,#0000 100%)}@keyframes hero-atmo-in{0%{opacity:0}to{opacity:.95}}.hero .hero-atmosphere~.container,.not-found .hero-atmosphere~.container{z-index:1;position:relative}.hero:has(.hero-atmosphere):before{opacity:0;transition:opacity .8s var(--ease-out-quart)}.not-found:has(.hero-atmosphere):before{opacity:0;transition:opacity .8s var(--ease-out-quart)}@supports (animation-timeline:view()){.hero{view-timeline-name:--hero-axis;view-timeline-axis:block}@keyframes trust-strip-fade{0%{opacity:1}to{opacity:0}}.trust-strip-companies span{animation:linear forwards trust-strip-fade;animation-timeline:--hero-axis;animation-range:exit 10% exit 70%}}@media (max-width:1024px){.about-grid{grid-template-columns:1fr}}@media (max-width:768px){.hero{padding-top:var(--space-24);padding-bottom:var(--space-12)}.nav-links{display:none}.menu-toggle{display:inline-flex}.nav-links.open{top:100%;right:var(--space-4);background:var(--surface-drawer);-webkit-backdrop-filter:blur(18px);padding:var(--space-4)var(--space-6);border:1px solid var(--border-1);gap:var(--space-4);border-radius:12px;flex-direction:column;min-width:9rem;display:flex;position:absolute;box-shadow:0 12px 32px #0006}.nav-links.open .nav-cta{text-align:center;align-self:stretch}.skill-row{gap:var(--space-1);padding:var(--space-4)0;grid-template-columns:1fr}.project-row,.exp-row{gap:var(--space-2);grid-template-columns:1fr}.exp-row:hover .exp-year,.exp-row:hover .exp-body{transform:none}.exp-row:hover{padding-left:0}.exp-row:hover:before{width:0}.exp-year{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;padding-top:0}.exp-toggle{width:100%}.footer-grid{gap:var(--space-6);grid-template-columns:1fr}.footer-bottom{flex-direction:column;align-items:flex-start}.trust-strip-companies{gap:var(--space-2)var(--space-4)}.back-to-top{bottom:var(--space-4);right:var(--space-4)}}@media (max-width:480px){section{padding:var(--space-12)0}}@media print{:root{--dark:#fff;--light:#111;--gray:#555;--gray-2:#333;--accent:#5b21b6;--surface-1:#f6f6f8;--surface-2:#ececef;--border-1:#d6d8de;--border-2:#b5b8c3;--font-display:Georgia,serif;--font-body:-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;--font-mono:ui-monospace,monospace}body{font-size:11pt;line-height:1.45;color:#111!important;background:#fff!important}header,.menu-toggle,.back-to-top,.scroll-progress,.phrases-block,.nav-links,.skip-link,.about-image-flip-hint{display:none!important}main{padding-top:0!important}.hero{page-break-after:avoid;min-height:auto;padding-top:0;padding-bottom:1rem}.hero:before,.not-found:before{display:none}.hero-title,.section-title,.rainbow-color{color:#111!important;animation:none!important}.hero-title{font-size:22pt}.section-title{margin-bottom:.5rem;font-size:14pt}.section-title:after{display:none}.hero-subtitle{font-size:11pt;color:#333!important}section{page-break-inside:avoid;padding:.75rem 0}.project-row{page-break-inside:avoid;padding:.5rem 0;border-top:1px solid #d6d8de!important}.project-row:before{display:none}.project-tag,.competency-chip{color:#333!important;background:#fff!important;border:1px solid #b5b8c3!important}.project-role-badge{color:#4c1d95!important;background:#ece6ff!important}.btn,.btn-secondary,.social-links{display:none!important}.contact-email{text-decoration:underline;color:#4c1d95!important}footer{border-top:1px solid #d6d8de}.footer-grid{grid-template-columns:1fr 1fr 1fr}.footer-col a{color:#4c1d95!important}a[href]:after{content:" (" attr(href)")";color:#555;font-size:9pt}a[href^=\#]:after,a[href^=mailto\:]:after{content:""}[data-reveal]{opacity:1!important;transform:none!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}[data-reveal],[data-reveal].is-visible{opacity:1!important;transform:none!important}.section-title:after{transform:scaleX(1)!important}.hero-atmosphere{display:none!important}.hero:has(.hero-atmosphere):before{opacity:1!important}.not-found:has(.hero-atmosphere):before{opacity:1!important}.hero-content>*,.trust-strip-companies span{opacity:1!important;animation:none!important;transform:none!important}.scroll-progress-fill{box-shadow:none!important}.hero:before,.not-found:before{background:rgba(var(--purple-base),1);animation:none}.logo,.rainbow-color{color:var(--light);animation:none!important}.hero-title{color:var(--accent);animation:none!important}.logo-base .first-name,.logo-active .last-name{color:var(--accent)}.about-image{transition:none!important}.about-image-container:hover .about-image{transform:none}}@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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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-ease{syntax:"*";inherits:false}
