@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk-latin.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap;unicode-range:U+0000-00FF,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:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-400-cyrillic.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-400-latin.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00FF,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:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-500-cyrillic.woff2) format("woff2");font-style:normal;font-weight:500;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-500-latin.woff2) format("woff2");font-style:normal;font-weight:500;font-display:swap;unicode-range:U+0000-00FF,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}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Space Grotesk,ui-sans-serif,system-ui;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:IBM Plex Mono,ui-monospace,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--font-sans: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;--c-bg: #020205;--c-scrollbar: #17131a;--background: 240 33% 1%;--foreground: 36 24% 96%;--card: 240 26% 5%;--card-foreground: 36 24% 96%;--popover: 240 26% 5%;--popover-foreground: 36 24% 96%;--primary: 29 100% 82%;--primary-foreground: 20 40% 5%;--secondary: 240 16% 10%;--secondary-foreground: 36 24% 96%;--muted: 240 12% 12%;--muted-foreground: 230 10% 65%;--accent: 26 50% 14%;--accent-foreground: 29 100% 82%;--destructive: 0 63% 31%;--destructive-foreground: 0 0% 98%;--border: 230 12% 18%;--input: 230 12% 18%;--ring: 29 100% 72%;--radius: .75rem}*,*:before,*:after{box-sizing:border-box;border-color:hsl(var(--border))}html{color-scheme:dark;background:var(--c-bg)}body{margin:0;color:hsl(var(--foreground));background:var(--c-bg);font-family:var(--font-sans);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid #ffc286;outline-offset:4px}::-moz-selection{color:#100906;background:#ffc286}::selection{color:#100906;background:#ffc286}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.top-1\/2{top:50%}.isolate{isolation:isolate}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[120\]{z-index:120}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.size-\[18px\]{width:18px;height:18px}.h-12{height:3rem}.h-4{height:1rem}.h-9{height:2.25rem}.h-max{height:-moz-max-content;height:max-content}.h-px{height:1px}.w-12{width:3rem}.w-4{width:1rem}.w-9{width:2.25rem}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1\.5{gap:.375rem}.overflow-hidden{overflow:hidden}.text-wrap{text-wrap:wrap}.rounded-full{border-radius:9999px}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.border-white\/10{border-color:#ffffff1a}.bg-popover{background-color:hsl(var(--popover))}.bg-white\/10{background-color:#ffffff1a}.p-1\.5{padding:.375rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.text-sm{font-size:.875rem;line-height:1.25rem}.uppercase{text-transform:uppercase}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-white\/60{color:#fff9}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.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)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));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)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}.paused{animation-play-state:paused}html.has-initial-anchor .landing-section{content-visibility:visible!important;contain-intrinsic-size:none!important}html.is-restoring-anchor body{visibility:hidden}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-orange-200\/25:hover{border-color:#fed7aa40}.hover\:bg-white\/\[0\.035\]:hover{background-color:#ffffff09}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}html,body{width:100%;min-width:320px;min-height:100%;margin:0;overflow-x:clip;color:#f7f5f2;background:#020205;scrollbar-color:rgb(255 181 108 / .42) #020205}html{scroll-behavior:auto}html.is-scroll-ready{scroll-behavior:smooth}body{min-height:100vh}.metrika-pixel[data-astro-cid-sckkx6r4]{position:absolute;left:-9999px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.portfolio-logo[data-v-7c3853d4]{display:inline-flex;align-items:center}.portfolio-logo__signature[data-v-7c3853d4]{width:10.25rem;height:auto;overflow:visible;color:#f7f5f2;visibility:hidden}.portfolio-logo__signature.is-drawable-ready[data-v-7c3853d4]{visibility:visible}.portfolio-logo__signature path[data-v-7c3853d4]{fill:none;stroke:currentcolor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}@media(max-width:767px){.portfolio-logo__signature[data-v-7c3853d4]{width:9rem}}.hero-chapter[data-v-8c8397a9]{position:relative;height:142svh}.hero-sticky[data-v-8c8397a9]{position:sticky;top:0;display:grid;width:100%;height:100svh;align-items:center;overflow:hidden}.hero-content[data-v-8c8397a9]{position:relative;z-index:2;display:grid;width:min(100% - 9rem,88rem);margin-inline:auto;grid-template-columns:minmax(0,.95fr) minmax(22rem,.8fr);align-items:center;gap:clamp(2rem,7vw,8rem)}.hero-copy[data-v-8c8397a9]{max-width:46rem}.hero-eyebrow[data-v-8c8397a9]{display:flex;align-items:center;gap:.7rem;margin:0 0 1rem;color:#dbe7ffa3;font-family:var(--font-mono);font-size:.62rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;animation:hero-enter-y-8c8397a9 .62s cubic-bezier(.22,1,.36,1) 80ms backwards}.hero-status-dot[data-v-8c8397a9]{width:.45rem;height:.45rem;border-radius:50%;background:#ffb267;box-shadow:0 0 1rem #ff8a3d}.hero-title[data-v-8c8397a9]{width:-moz-fit-content;width:fit-content;max-width:100%;margin:0;font-size:clamp(3.25rem,5.4vw,5.8rem);font-weight:520;letter-spacing:-.06em;line-height:.82;text-transform:uppercase}.hero-title-line[data-v-8c8397a9]{display:block;white-space:nowrap;animation:hero-title-enter-8c8397a9 .7s cubic-bezier(.22,1,.36,1) .12s backwards}.hero-title-line[data-v-8c8397a9]:first-child{margin:0 0 .14em .05em;font-size:.52em;font-weight:620;letter-spacing:.035em;line-height:1}.hero-title-line[data-v-8c8397a9]:last-child{color:transparent;font-weight:480;letter-spacing:-.065em;-webkit-text-stroke:.9px rgb(247 245 242 / .72);animation-delay:.17s}.hero-role[data-v-8c8397a9]{margin:1.35rem 0 .45rem;color:#ffbd7d;font-size:clamp(1.2rem,1.8vw,1.65rem);font-weight:600;letter-spacing:-.02em;animation:hero-enter-y-8c8397a9 .62s cubic-bezier(.22,1,.36,1) .24s backwards}.hero-stack[data-v-8c8397a9]{margin:0 0 1rem;color:#e5e7efd6;font-size:clamp(.75rem,1vw,.9rem);font-weight:500;line-height:1.6;text-wrap:balance;animation:hero-enter-y-8c8397a9 .62s cubic-bezier(.22,1,.36,1) .28s backwards}.hero-subtitle[data-v-8c8397a9]{max-width:34rem;margin:0;color:#e5e7efa8;font-size:clamp(.84rem,1.05vw,.96rem);line-height:1.55;animation:hero-enter-y-8c8397a9 .62s cubic-bezier(.22,1,.36,1) .3s backwards}.hero-actions[data-v-8c8397a9]{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem;animation:hero-enter-y-8c8397a9 .62s cubic-bezier(.22,1,.36,1) .36s backwards}.hero-button[data-v-8c8397a9]{display:inline-flex;min-height:3.25rem;align-items:center;justify-content:center;gap:.8rem;padding:.8rem 1.2rem;border:1px solid rgb(255 255 255 / .15);border-radius:999px;color:#f7f5f2;background:#0a0a11e6;font-size:.8rem;font-weight:600;text-decoration:none;transition:border-color .2s ease,background-color .2s ease,transform .2s ease}.hero-button[data-v-8c8397a9]:hover,.hero-button[data-v-8c8397a9]:focus-visible{border-color:#ffb86fa6;background:#ffb16217;transform:translateY(-2px)}.hero-button--primary[data-v-8c8397a9]{border-color:#ffd0a3;color:#110b08;background:#ffd0a3}.hero-button--primary[data-v-8c8397a9]:hover,.hero-button--primary[data-v-8c8397a9]:focus-visible{color:#080506;background:#ffe1c3}.hero-portrait-stage[data-v-8c8397a9]{position:relative;width:min(34vw,29rem);aspect-ratio:1;justify-self:center}.hero-portrait[data-v-8c8397a9]{position:absolute;right:0;bottom:13%;width:clamp(7.5rem,11vw,9.5rem);padding:.35rem;border:1px solid rgb(255 207 158 / .55);border-radius:50%;background:#07070cc2;box-shadow:0 1.5rem 5rem #0000009e,0 0 3rem #ff964629;animation:hero-portrait-enter-8c8397a9 .76s cubic-bezier(.22,1,.36,1) .18s backwards}.hero-portrait img[data-v-8c8397a9]{display:block;width:100%;aspect-ratio:1;border-radius:50%;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 20%;object-position:50% 20%;filter:saturate(.72) contrast(1.08)}.hero-portrait picture[data-v-8c8397a9]{display:contents}.hero-portrait-index[data-v-8c8397a9]{position:absolute;right:-1.3rem;bottom:-1rem;color:#ffffff7a;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.15em}.hero-coordinate[data-v-8c8397a9]{position:absolute;z-index:3;top:4.8rem;left:clamp(1rem,3vw,3rem);display:flex;width:calc(100% - clamp(6rem,10vw,10rem));justify-content:space-between;color:#dbe7ff57;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;animation:hero-fade-enter-8c8397a9 .62s ease-out .12s backwards}.scroll-cue[data-v-8c8397a9]{position:absolute;z-index:4;right:clamp(5.25rem,7vw,7rem);bottom:2rem;display:flex;align-items:center;gap:1rem;color:#ffffff80;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.14em;text-decoration:none;text-transform:uppercase;animation:hero-fade-enter-8c8397a9 .62s ease-out .42s backwards;transition:opacity .26s ease,visibility 0s linear}.scroll-cue.is-section-hidden[data-v-8c8397a9]{visibility:hidden;opacity:0;pointer-events:none;transition:opacity .26s ease,visibility 0s linear .26s}.scroll-cue i[data-v-8c8397a9]{position:relative;width:4rem;height:1px;overflow:hidden;background:#ffffff2e}.scroll-cue i[data-v-8c8397a9]:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,transparent,#ffc286,transparent);transform:translate(-100%);animation:scroll-pulse-8c8397a9 2.4s ease-in-out infinite}@keyframes scroll-pulse-8c8397a9{50%,to{transform:translate(100%)}}@keyframes hero-enter-y-8c8397a9{0%{opacity:0;transform:translate3d(0,.9rem,0)}to{opacity:1;transform:translateZ(0)}}@keyframes hero-title-enter-8c8397a9{0%{opacity:0;transform:translate3d(0,.45em,0)}to{opacity:1;transform:translateZ(0)}}@keyframes hero-portrait-enter-8c8397a9{0%{opacity:0;transform:translate3d(0,.75rem,0) scale(.94)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes hero-fade-enter-8c8397a9{0%{opacity:0}to{opacity:1}}@media(max-width:1099px){.hero-content[data-v-8c8397a9]{width:min(100% - 3rem,72rem);grid-template-columns:minmax(0,1.1fr) minmax(16rem,.6fr)}.scroll-cue[data-v-8c8397a9]{right:calc(max(1.25rem,env(safe-area-inset-right)) + 4rem)}}@media(max-width:767px){.hero-chapter[data-v-8c8397a9]{height:128svh}.hero-sticky[data-v-8c8397a9]{align-items:end}.hero-content[data-v-8c8397a9]{width:calc(100% - 2rem);min-height:100svh;padding:42svh 0 5.5rem;grid-template-columns:1fr}.hero-title[data-v-8c8397a9]{font-size:clamp(2.7rem,11.8vw,3.9rem)}.hero-subtitle[data-v-8c8397a9]{max-width:29rem;font-size:.82rem}.hero-portrait-stage[data-v-8c8397a9]{position:absolute;top:7svh;right:4vw;width:15rem}.hero-portrait[data-v-8c8397a9]{width:6rem}.hero-coordinate[data-v-8c8397a9]{top:4rem;width:calc(100% - 2rem)}.hero-coordinate span[data-v-8c8397a9]:last-child{display:none}.scroll-cue[data-v-8c8397a9]{right:calc(max(1.25rem,env(safe-area-inset-right)) + 4rem);bottom:1.25rem}}@media(prefers-reduced-motion:reduce){.hero-chapter[data-v-8c8397a9]{height:100svh;min-height:44rem}.scroll-cue i[data-v-8c8397a9]:after{animation:none}.hero-eyebrow[data-v-8c8397a9],.hero-title-line[data-v-8c8397a9],.hero-role[data-v-8c8397a9],.hero-stack[data-v-8c8397a9],.hero-subtitle[data-v-8c8397a9],.hero-actions[data-v-8c8397a9],.hero-portrait[data-v-8c8397a9],.hero-coordinate[data-v-8c8397a9],.scroll-cue[data-v-8c8397a9]{animation:none}}.spotlight-card[data-v-26405cf4]{position:relative;overflow:hidden}.spotlight-card__light[data-v-26405cf4]{position:absolute;inset:0;pointer-events:none;transition:opacity .5s ease}.portfolio-main[data-v-e7aa25b0]{position:relative;z-index:1}.portfolio-shell[data-v-e7aa25b0]{width:min(100% - 9rem,82rem);margin-inline:auto;padding:5rem 0 3rem}.landing-section[data-v-e7aa25b0]{position:relative;margin-bottom:clamp(8rem,15vw,14rem);scroll-margin-top:7.5rem}.experience-section[data-v-e7aa25b0]{content-visibility:auto;contain-intrinsic-block-size:auto 96rem}.section-heading[data-v-e7aa25b0]{display:grid;margin-bottom:clamp(2.5rem,6vw,5rem);grid-template-columns:7rem minmax(0,1fr);gap:clamp(1rem,4vw,3.5rem);align-items:start}.section-index[data-v-e7aa25b0],.section-kicker[data-v-e7aa25b0],.card-kicker[data-v-e7aa25b0],.job-technology-label[data-v-e7aa25b0],.job-copy>span[data-v-e7aa25b0],.landing-footer[data-v-e7aa25b0]{font-family:var(--font-mono);text-transform:uppercase}.section-index[data-v-e7aa25b0]{padding-top:.65rem;color:#dce6ff57;font-size:.62rem;letter-spacing:.15em}.section-kicker[data-v-e7aa25b0]{margin:0 0 .9rem;color:#d99a60;font-size:.62rem;letter-spacing:.16em}.section-heading h2[data-v-e7aa25b0]{margin:0;font-size:clamp(3rem,7vw,7rem);font-weight:520;letter-spacing:-.07em;line-height:.9;text-transform:uppercase}.about-section .section-heading[data-v-e7aa25b0]{margin-bottom:clamp(2rem,4vw,3.25rem)}.about-section[data-v-e7aa25b0]{margin-bottom:clamp(6rem,10vw,9rem)}.about-section .section-heading h2[data-v-e7aa25b0]{font-size:clamp(3rem,6vw,6rem)}@media(min-width:1100px){.about-section .section-heading[data-v-e7aa25b0],.profile-dossier[data-v-e7aa25b0]{width:min(70%,58rem);margin-inline:auto}.about-section .section-heading[data-v-e7aa25b0]{position:relative;display:block;margin-bottom:.85rem;text-align:center}.about-section .section-index[data-v-e7aa25b0]{position:absolute;top:.65rem;left:0}.about-section .section-heading h2[data-v-e7aa25b0]{font-size:clamp(2.85rem,3.7vw,3.8rem)}}.profile-dossier[data-v-e7aa25b0]{--profile-columns: minmax(0, 1.15fr) minmax(20rem, .85fr);position:relative;border:1px solid rgb(255 190 126 / .24);border-radius:1.5rem;background:radial-gradient(ellipse at 86% 8%,rgb(255 156 74 / .14),transparent 52%),radial-gradient(ellipse at 38% 110%,rgb(115 141 255 / .08),transparent 48%),linear-gradient(145deg,#0a0a12f5,#030308f0);box-shadow:inset 0 1px #ffddb51a,inset 0 0 2rem #ff9c4a06,0 0 1.5rem #ff9c4a12,0 0 5rem #ff783009,0 3rem 8rem #00000040;isolation:isolate;overflow:hidden}.profile-dossier[data-v-e7aa25b0]:before{position:absolute;z-index:-1;top:-14rem;right:-8rem;width:31rem;aspect-ratio:1;content:"";border:1px solid rgb(255 183 108 / .4);border-radius:50%;box-shadow:0 0 .65rem #ff9c4a33,0 0 2.5rem #ff8c3a1a,inset 0 0 1.25rem #ff9c4a17;pointer-events:none}.profile-meta[data-v-e7aa25b0]{display:flex;position:relative;z-index:2;align-items:center;justify-content:space-between;padding:.65rem 1rem;border-bottom:1px solid rgb(255 255 255 / .1);color:#dbe7ff57;font-family:var(--font-mono);font-size:.52rem;letter-spacing:.14em}.profile-layout[data-v-e7aa25b0]{position:relative;z-index:1;display:grid;grid-template-columns:var(--profile-columns)}.profile-primary[data-v-e7aa25b0]{min-height:0;padding:clamp(2rem,5vw,4rem)}.profile-lead[data-v-e7aa25b0]{max-width:45rem;margin:1.1rem 0 3rem;color:#f5f4f2e6;font-size:clamp(1.35rem,2.25vw,2.1rem);font-weight:420;letter-spacing:-.045em;line-height:1.34;white-space:pre-line}.profile-stats[data-v-e7aa25b0]{position:relative;z-index:2;display:grid;grid-template-columns:var(--profile-columns);border-top:1px solid rgb(255 255 255 / .1);background:#04040a85;overflow:hidden}.profile-stats>div[data-v-e7aa25b0]{display:flex;min-width:0;min-height:6rem;flex-direction:column;justify-content:center;gap:.45rem;padding:1.1rem;border-right:1px solid rgb(255 255 255 / .1)}.profile-stats>div[data-v-e7aa25b0]:last-child{border-right:0}.profile-stats strong[data-v-e7aa25b0]{color:#ffd0a3;font-family:var(--font-mono);font-size:clamp(1rem,1.8vw,1.45rem);font-weight:500;letter-spacing:-.04em;line-height:1.35}.profile-stats span[data-v-e7aa25b0]{max-width:9rem;color:#dbe7ff6b;font-family:var(--font-mono);font-size:.52rem;letter-spacing:.08em;line-height:1.45;text-transform:uppercase}.profile-secondary[data-v-e7aa25b0]{display:grid;grid-template-rows:1.15fr .85fr;border-left:1px solid rgb(255 255 255 / .1)}.profile-card[data-v-e7aa25b0]{position:relative;display:grid;padding:clamp(1.5rem,3.5vw,2.75rem);grid-template-columns:auto minmax(0,1fr);gap:1.1rem;align-content:center;overflow:hidden}.profile-card[data-v-e7aa25b0]:first-child{border-bottom:1px solid rgb(255 255 255 / .1)}.profile-card--education[data-v-e7aa25b0]:after{position:absolute;right:-3.5rem;bottom:-6.5rem;width:15rem;aspect-ratio:1;content:"";border:1px solid rgb(147 171 255 / .3);border-radius:50%;box-shadow:0 0 .75rem #809bff2b,0 0 2.5rem #647cff14,inset 0 0 1.25rem #809bff0f;transform:scaleY(.45) rotate(-18deg);pointer-events:none}.profile-card--personal[data-v-e7aa25b0]{background:linear-gradient(120deg,#5976dc0b,#ff923e09)}.profile-card-icon[data-v-e7aa25b0]{position:relative;z-index:1;display:grid;width:2.75rem;height:2.75rem;place-items:center;border:1px solid rgb(255 190 126 / .4);border-radius:50%;color:#ffd09c;background:radial-gradient(circle at 35% 25%,#ffbe7e24,#ff973e09);box-shadow:0 0 .85rem #ff9c4a21,inset 0 0 .75rem #ff9c4a0f}.profile-card-icon svg[data-v-e7aa25b0]{filter:drop-shadow(0 0 .3rem rgb(255 174 99 / .4))}.card-kicker[data-v-e7aa25b0],.job-copy>span[data-v-e7aa25b0]{color:#dbe7ff7a;font-size:.59rem;letter-spacing:.14em}.profile-card h3[data-v-e7aa25b0]{position:relative;z-index:1;margin:.8rem 0 .65rem;font-size:1rem;font-weight:520;letter-spacing:-.035em;line-height:1.35}.profile-card p[data-v-e7aa25b0]{position:relative;z-index:1;margin:0;color:#e5e7ef94;font-size:.8rem;line-height:1.6}@media(min-width:1100px){.profile-dossier[data-v-e7aa25b0]{--profile-columns: minmax(0, 1.12fr) minmax(17rem, .88fr)}.profile-primary[data-v-e7aa25b0]{padding:clamp(1.25rem,1.8vw,1.65rem)}.profile-lead[data-v-e7aa25b0]{margin:.55rem 0 0;font-size:clamp(1rem,1.18vw,1.18rem);line-height:1.32}.profile-secondary[data-v-e7aa25b0]{grid-template-rows:minmax(0,1fr) auto}.profile-card[data-v-e7aa25b0]{padding:1rem 1.15rem;gap:.75rem}.profile-card-icon[data-v-e7aa25b0]{width:2.35rem;height:2.35rem}.profile-card h3[data-v-e7aa25b0]{margin:.5rem 0 .35rem;font-size:.9rem;line-height:1.28}.profile-card p[data-v-e7aa25b0]{font-size:.72rem;line-height:1.45}.profile-stats>div[data-v-e7aa25b0]{min-height:4.3rem;padding:.6rem 1rem}.profile-stats strong[data-v-e7aa25b0]{font-size:clamp(.92rem,1.25vw,1.12rem)}}.skills-section[data-v-e7aa25b0]{max-width:64rem;margin-inline:auto;margin-bottom:clamp(6rem,10vw,9rem)}.skills-section .section-heading[data-v-e7aa25b0]{margin-bottom:2rem}.skills-section .section-heading h2[data-v-e7aa25b0]{font-size:clamp(2.3rem,4.2vw,3.8rem);line-height:1}.skills-section .section-index[data-v-e7aa25b0]{white-space:nowrap}.skill-groups[data-v-e7aa25b0]{position:relative;border:1px solid rgb(255 190 126 / .24);border-radius:1.5rem;background:radial-gradient(ellipse at 86% 8%,rgb(255 156 74 / .14),transparent 52%),radial-gradient(ellipse at 38% 110%,rgb(115 141 255 / .08),transparent 48%),linear-gradient(145deg,#0c0b12f7,#04040af0);box-shadow:inset 0 1px #ffddb51a,inset 0 0 2rem #ff9c4a06,0 0 1.5rem #ff9c4a12,0 0 5rem #ff783009,0 1.5rem 5rem #0000002e;isolation:isolate;overflow:hidden}.skill-groups[data-v-e7aa25b0]:before,.skill-groups[data-v-e7aa25b0]:after{position:absolute;z-index:-1;content:"";border:1px solid rgb(255 183 108 / .13);border-radius:50%;pointer-events:none}.skill-groups[data-v-e7aa25b0]:before{top:-22rem;right:-3rem;width:38rem;aspect-ratio:1;border-color:#ffb76c66;box-shadow:0 0 .65rem #ff9c4a33,0 0 2.5rem #ff8c3a1a,inset 0 0 1.25rem #ff9c4a17}.skill-groups[data-v-e7aa25b0]:after{bottom:-10rem;left:32%;width:27rem;height:17rem;border-color:#93abff4d;box-shadow:0 0 .75rem #809bff2b,0 0 2.5rem #647cff14,inset 0 0 1.25rem #809bff0f;transform:rotate(-18deg)}.skill-group[data-v-e7aa25b0]{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:clamp(1.25rem,2.5vw,2.5rem);align-items:center;padding:1.3rem clamp(1.25rem,2.5vw,2rem);border-bottom:1px solid rgb(255 255 255 / .09)}.skill-group[data-v-e7aa25b0]:last-child{border-bottom:0}.skill-group-heading[data-v-e7aa25b0]{display:flex;align-items:center;gap:.85rem}.skill-icon[data-v-e7aa25b0]{display:grid;width:2.6rem;height:2.6rem;flex:0 0 auto;place-items:center;border:1px solid rgb(255 190 126 / .4);border-radius:50%;color:#ffd09c;background:radial-gradient(circle at 35% 25%,#ffbe7e24,#ff973e09);box-shadow:0 0 .85rem #ff9c4a21,inset 0 0 .75rem #ff9c4a0f}.skill-icon svg[data-v-e7aa25b0]{filter:drop-shadow(0 0 .3rem rgb(255 174 99 / .4))}.skill-group--core .skill-icon[data-v-e7aa25b0]{border-color:#ffbe7ea6;box-shadow:0 0 1rem #ff9c4a3d,0 0 2rem #ff8c3a1a,inset 0 0 .9rem #ff9c4a21}.skill-group--tooling .skill-icon[data-v-e7aa25b0]{color:#c49a77;border-color:#ffbe7e3d;box-shadow:0 0 .75rem #ff9c4a12}.skill-group h3[data-v-e7aa25b0]{margin:0;color:#e5e7efb3;font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.08em;line-height:1.6;text-transform:uppercase}.skill-list[data-v-e7aa25b0]{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .85rem;margin:0;padding:0;color:#f5f4f2db;font-size:clamp(.88rem,1.15vw,1.05rem);line-height:1.65;list-style:none}.skill-list li[data-v-e7aa25b0]{display:inline-flex;align-items:baseline;gap:.85rem}.skill-list li[data-v-e7aa25b0]:not(:last-child):after{width:.2rem;height:.2rem;flex:0 0 auto;align-self:center;border-radius:50%;background:#e5e7ef59;content:""}.skill-group--core h3[data-v-e7aa25b0]{color:#ffbd7d;text-shadow:0 0 1rem rgb(255 156 74 / .28)}.skill-group--core .skill-list[data-v-e7aa25b0]{color:#f7f5f2;font-size:clamp(1.12rem,2vw,1.5rem);font-weight:500;letter-spacing:-.025em}.skill-group--tooling .skill-list[data-v-e7aa25b0]{color:#e5e7efa6;font-size:.86rem}.experience-list[data-v-e7aa25b0]{display:grid;gap:1.25rem}.experience-item[data-v-e7aa25b0]{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:clamp(1rem,4vw,3.5rem)}.timeline-axis[data-v-e7aa25b0]{display:flex;align-items:center;flex-direction:column;gap:.8rem;color:#dbe7ff57;font-family:var(--font-mono);font-size:.58rem}.timeline-axis i[data-v-e7aa25b0]{width:1px;min-height:9rem;flex:1;background:linear-gradient(#ffad64,rgb(255 255 255 / .1),transparent);box-shadow:0 0 .65rem #ff9c4a2e}.experience-card[data-v-e7aa25b0]{position:relative;padding:clamp(1.5rem,4vw,3.25rem);border:1px solid rgb(255 190 126 / .24);border-radius:1.5rem;background:radial-gradient(ellipse at 100% 0%,rgb(255 156 74 / .14),transparent 30rem),radial-gradient(ellipse at 15% 100%,rgb(115 141 255 / .08),transparent 28rem),linear-gradient(140deg,#0b0b13f5,#030307f0);box-shadow:inset 0 1px #ffddb51a,inset 0 0 2rem #ff9c4a06,0 0 1.5rem #ff9c4a12,0 0 5rem #ff783009,0 2rem 7rem #00000040;isolation:isolate;overflow:hidden}.experience-card[data-v-e7aa25b0]:after{position:absolute;z-index:-1;top:-7rem;right:-7rem;width:15rem;height:15rem;content:"";border:1px solid rgb(255 183 108 / .4);border-radius:50%;box-shadow:0 0 .65rem #ff9c4a33,0 0 2.5rem #ff8c3a1a,inset 0 0 1.25rem #ff9c4a17;pointer-events:none}.job-header[data-v-e7aa25b0]{position:relative;z-index:1;display:flex;justify-content:space-between;gap:2rem;padding-bottom:2rem;border-bottom:1px solid rgb(255 255 255 / .1)}.job-header h3[data-v-e7aa25b0]{margin:.5rem 0 0;font-size:clamp(2.5rem,5vw,5rem);font-weight:520;letter-spacing:-.065em;line-height:.9}.job-meta[data-v-e7aa25b0]{display:grid;flex:0 0 auto;align-content:start;gap:.55rem}.job-meta span[data-v-e7aa25b0]{display:flex;align-items:center;gap:.5rem;color:#e5e7ef85;font-size:.7rem}.job-meta svg[data-v-e7aa25b0]{color:#dba675;filter:drop-shadow(0 0 .3rem rgb(255 174 99 / .3))}.job-technologies[data-v-e7aa25b0]{display:grid;gap:1rem;padding:1.5rem 0}.job-technology-group[data-v-e7aa25b0]{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:2rem;align-items:start}.job-technology-label[data-v-e7aa25b0]{padding-top:.45rem;color:#e5e7ef7a;font-size:.58rem;letter-spacing:.13em;text-transform:uppercase}.job-stack[data-v-e7aa25b0]{display:flex;flex-wrap:wrap;gap:.45rem}.job-stack span[data-v-e7aa25b0]{padding:.42rem .65rem;border:1px solid rgb(255 255 255 / .1);border-radius:.5rem;color:#e5e7ef94;background:#ffffff09;font-size:.65rem}.job-copy[data-v-e7aa25b0]{display:grid;padding:1.5rem 0;grid-template-columns:9rem minmax(0,1fr);gap:2rem}.job-copy p[data-v-e7aa25b0],.job-copy ul[data-v-e7aa25b0]{margin:0;color:#e5e7efa3;font-size:.84rem;line-height:1.75}.achievements[data-v-e7aa25b0]{border-top:1px solid rgb(255 255 255 / .1)}.achievements ul[data-v-e7aa25b0]{display:grid;gap:.75rem;padding:0;list-style:none}.achievements li[data-v-e7aa25b0]{position:relative;padding-left:1.1rem}.achievements li[data-v-e7aa25b0]:before{position:absolute;top:.7rem;left:0;width:.3rem;height:.3rem;content:"";border-radius:50%;background:#ffac61;box-shadow:0 0 .6rem #ff8237b3}.contact-section[data-v-e7aa25b0]{display:grid;min-height:96svh;margin-bottom:clamp(3rem,4vw,4rem);align-items:center;grid-template-columns:minmax(0,1.15fr) minmax(17rem,.85fr);gap:clamp(1rem,4vw,4rem);overflow:visible;isolation:isolate}.contact-atmosphere[data-v-e7aa25b0]{position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:calc(.35 + var(--contact-assembly, 1) * .65)}.contact-nebula[data-v-e7aa25b0]{position:absolute;inset:-8% -16%;background:radial-gradient(ellipse 30% 36% at 72% 44%,rgb(255 194 134 / .08),transparent 74%),radial-gradient(ellipse 27% 20% at 52% 62%,rgb(215 151 104 / .035),transparent 76%);-webkit-mask-image:radial-gradient(ellipse closest-side,#000 48%,transparent 100%);mask-image:radial-gradient(ellipse closest-side,#000 48%,transparent 100%);animation:contact-nebula-breathe-e7aa25b0 18s ease-in-out infinite alternate paused}.contact-depth-stars[data-v-e7aa25b0]{position:absolute;inset:0;animation:contact-stellar-drift-e7aa25b0 16s ease-in-out infinite alternate paused}.contact-depth-stars i[data-v-e7aa25b0]{position:absolute;width:var(--star-size);height:var(--star-size);border-radius:50%;background:#dcecff;opacity:var(--star-opacity);box-shadow:0 0 .75rem #a5d0ff99}.contact-depth-stars i[data-v-e7aa25b0]:nth-child(4n){filter:blur(.6px);background:#e6c9ad}.contact-trajectories[data-v-e7aa25b0]{position:absolute;top:46%;left:70%;z-index:-1;width:min(64vw,58rem);aspect-ratio:1;pointer-events:none;translate:-50% -50%;opacity:calc(.3 + var(--contact-assembly, 1) * .6)}.contact-orbit-arc[data-v-e7aa25b0]{stroke-width:.8;stroke-dasharray:240 80 90 110 150 330;animation:contact-orbit-flow-e7aa25b0 72s linear infinite paused}.contact-orbit-arc--near[data-v-e7aa25b0]{stroke-width:.65;stroke-dasharray:180 160 300 360;animation-duration:96s;animation-direction:reverse}.contact-orbit-spark[data-v-e7aa25b0]{stroke:#d6e8ff;stroke-width:1.6;stroke-linecap:round;stroke-dasharray:.5 499.5;opacity:.65;animation:contact-orbit-flow-e7aa25b0 44s linear infinite paused}.contact-orbit-spark--near[data-v-e7aa25b0]{stroke:#e2d4c3;stroke-width:1.2;stroke-dasharray:.5 999.5;animation-duration:58s;animation-direction:reverse}@keyframes contact-orbit-flow-e7aa25b0{to{stroke-dashoffset:-1000}}@keyframes contact-nebula-breathe-e7aa25b0{0%{opacity:.65;transform:scale(.98)}to{opacity:1;transform:scale(1.04)}}@keyframes contact-stellar-drift-e7aa25b0{0%{transform:translate3d(0,.35rem,0)}to{transform:translate3d(-.55rem,-.35rem,0)}}.contact-panel[data-v-e7aa25b0]{position:relative;z-index:2;width:min(100%,45rem);padding:clamp(1.5rem,4vw,3rem) 0;text-align:left}.contact-label[data-v-e7aa25b0]{display:flex;align-items:center;gap:.7rem;margin:0 0 1.35rem;color:#ffbc7ab8;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase}.contact-label>i[data-v-e7aa25b0]{width:.32rem;height:.32rem;border-radius:50%;background:#ffad62;box-shadow:0 0 .75rem #ff9741bf}.contact-actions[data-v-e7aa25b0]{display:flex;width:-moz-fit-content;width:fit-content;margin-top:clamp(2rem,4vw,3rem);gap:.75rem}.contact-link[data-v-e7aa25b0]{display:flex;min-width:10.5rem;min-height:3.65rem;align-items:center;justify-content:center;gap:.75rem;padding:.85rem 1.35rem;border:1px solid rgb(255 255 255 / .13);border-radius:999px;color:#f7f5f2;background:#05050ae6;font-size:.8rem;text-decoration:none;transition:border-color .2s ease,background-color .2s ease,color .2s ease,transform .2s ease}.contact-link[data-v-e7aa25b0]:hover,.contact-link[data-v-e7aa25b0]:focus-visible{border-color:#ffb86f8c;background:#ffa44e14;transform:translateY(-2px)}.contact-link--primary[data-v-e7aa25b0]{border-color:#ffd0a3;color:#0a0706;background:#ffd0a3}.contact-link--primary[data-v-e7aa25b0]:hover,.contact-link--primary[data-v-e7aa25b0]:focus-visible{border-color:#ffe1c3;color:#0a0706;background:#ffe1c3}.contact-astronaut[data-v-e7aa25b0]{position:relative;top:2rem;z-index:1;width:min(31vw,28rem);margin:0 -1.5rem 0 0;justify-self:end;pointer-events:none}.contact-astronaut[data-v-e7aa25b0]:before{position:absolute;inset:8% -14% -2% -20%;z-index:-1;content:"";background:radial-gradient(ellipse at 36% 60%,rgb(255 208 163 / .1),transparent 62%),radial-gradient(ellipse at 66% 26%,rgb(255 177 105 / .06),transparent 58%);-webkit-mask-image:radial-gradient(ellipse closest-side,#000 10%,transparent 100%);mask-image:radial-gradient(ellipse closest-side,#000 10%,transparent 100%);opacity:calc(.2 + var(--contact-assembly, 1) * .8)}.contact-astronaut-float[data-v-e7aa25b0]{animation:contact-astronaut-drift-e7aa25b0 5s ease-in-out infinite alternate paused}.contact-astronaut img[data-v-e7aa25b0]{display:block;width:100%;height:auto;filter:drop-shadow(-.4rem .3rem 1rem rgb(255 194 134 / .08))}@keyframes contact-astronaut-drift-e7aa25b0{0%{transform:translate3d(0,-.55rem,0) rotate(-1.5deg)}to{transform:translate3d(-.65rem,.7rem,0) rotate(.8deg)}}.is-contact-active[data-v-e7aa25b0] :is(.contact-nebula,.contact-depth-stars,.contact-orbit-arc,.contact-orbit-spark,.contact-astronaut-float){animation-play-state:running}.landing-footer[data-v-e7aa25b0]{display:flex;justify-content:space-between;gap:1rem;padding-top:1.5rem;border-top:1px solid rgb(255 255 255 / .1);color:#dbe7ff59;font-size:.55rem;letter-spacing:.12em}@media(max-width:1099px){.portfolio-shell[data-v-e7aa25b0]{width:min(100% - 3rem,72rem)}}@media(max-width:767px){.portfolio-shell[data-v-e7aa25b0]{width:calc(100% - 2rem);padding-top:2rem}.landing-section[data-v-e7aa25b0]{margin-bottom:8rem;scroll-margin-top:4.5rem}.section-heading[data-v-e7aa25b0],.experience-item[data-v-e7aa25b0]{grid-template-columns:2.8rem minmax(0,1fr);gap:.7rem}.section-heading h2[data-v-e7aa25b0]{font-size:clamp(2.8rem,14vw,5rem)}.profile-dossier[data-v-e7aa25b0]{--profile-columns: 1fr}.profile-meta span[data-v-e7aa25b0]:last-child{display:none}.profile-primary[data-v-e7aa25b0]{min-height:0;padding:2rem 1.1rem 1.1rem}.profile-lead[data-v-e7aa25b0]{margin:1rem 0 2rem;font-size:1.25rem}.profile-stats>div[data-v-e7aa25b0]{min-height:4.75rem;border-right:0;border-bottom:1px solid rgb(255 255 255 / .1)}.profile-stats>div[data-v-e7aa25b0]:last-child{border-bottom:0}.profile-secondary[data-v-e7aa25b0]{border-top:1px solid rgb(255 255 255 / .1);border-left:0}.profile-card[data-v-e7aa25b0]{padding:1.5rem 1.1rem}.skills-section .section-heading[data-v-e7aa25b0]{margin-bottom:1.5rem}.skills-section .section-heading h2[data-v-e7aa25b0]{font-size:clamp(1.9rem,8vw,3rem)}.skill-group[data-v-e7aa25b0]{grid-template-columns:1fr;gap:.8rem;padding:1.1rem}.skill-groups[data-v-e7aa25b0]{border-radius:1.25rem}.skill-groups[data-v-e7aa25b0]:before{top:-12rem;right:-12rem;width:29rem}.skill-groups[data-v-e7aa25b0]:after{bottom:-6rem;left:18%;width:22rem;height:12rem}.skill-icon[data-v-e7aa25b0]{width:2.25rem;height:2.25rem}.skill-list[data-v-e7aa25b0],.skill-list li[data-v-e7aa25b0]{-moz-column-gap:.65rem;column-gap:.65rem}.timeline-axis[data-v-e7aa25b0]{font-size:.52rem}.experience-card[data-v-e7aa25b0]{padding:1.25rem;border-radius:1.1rem}.job-header[data-v-e7aa25b0]{align-items:flex-start;flex-direction:column;gap:1.25rem}.job-header h3[data-v-e7aa25b0]{font-size:2.8rem}.job-copy[data-v-e7aa25b0]{grid-template-columns:1fr;gap:.85rem}.job-technology-group[data-v-e7aa25b0]{grid-template-columns:1fr;gap:.55rem}.job-technology-label[data-v-e7aa25b0]{padding-top:0}.contact-section[data-v-e7aa25b0]{min-height:max(42rem,86svh);margin-bottom:3rem;align-items:end;grid-template-columns:1fr;padding:9rem 0 2rem}.contact-trajectories[data-v-e7aa25b0]{top:30%;left:70%;width:105vw}.contact-nebula[data-v-e7aa25b0]{background:radial-gradient(ellipse 52% 25% at 72% 30%,rgb(255 194 134 / .09),transparent 76%)}.contact-depth-stars[data-v-e7aa25b0]{bottom:35%}.contact-panel[data-v-e7aa25b0]{z-index:2;width:100%;padding:0}.contact-actions[data-v-e7aa25b0]{display:grid;width:100%;grid-template-columns:1fr}.contact-link[data-v-e7aa25b0]{min-width:0}.contact-astronaut[data-v-e7aa25b0]{position:absolute;top:clamp(4.25rem,9svh,5.5rem);right:0;width:clamp(10rem,44vw,13rem);margin:0;opacity:.9}.landing-footer[data-v-e7aa25b0]{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){[data-cosmic-reveal][data-v-e7aa25b0],[data-experience-card][data-v-e7aa25b0]{opacity:1!important;transform:none!important}.contact-astronaut-float[data-v-e7aa25b0],.contact-nebula[data-v-e7aa25b0],.contact-depth-stars[data-v-e7aa25b0],.contact-orbit-arc[data-v-e7aa25b0],.contact-orbit-spark[data-v-e7aa25b0]{animation:none}}.galaxy-universe[data-v-ca9f1d09]{position:absolute;inset:0;opacity:0;pointer-events:none;contain:strict}.galaxy-canvas[data-v-ca9f1d09]{display:block;width:100%;height:100%}.galaxy-fallback[data-v-ca9f1d09]{position:absolute;top:50%;left:50%;width:min(85vw,90svh);aspect-ratio:1;translate:-50% -50%;transform:translate(var(--galaxy-x, 0),var(--galaxy-y, 0)) rotate(var(--galaxy-rotation, -.45rad)) scale(var(--galaxy-scale, 1));background:radial-gradient(ellipse,#d8edff30,#73b6ec0b 18%,transparent 55%);opacity:calc((1 - var(--galaxy-dispersion, 0)) * (1 - var(--galaxy-field, 1)))}.galaxy-fallback i[data-v-ca9f1d09],.galaxy-edge-fallback i[data-v-ca9f1d09],.galaxy-field-fallback i[data-v-ca9f1d09]{position:absolute;border-radius:50%;background:#e1f2ff;box-shadow:0 0 6px #92ccff}.galaxy-edge-fallback[data-v-ca9f1d09],.galaxy-field-fallback[data-v-ca9f1d09]{position:absolute;inset:0}.galaxy-edge-fallback[data-v-ca9f1d09]{opacity:calc(var(--galaxy-dispersion, 0) * (1 - var(--galaxy-field, 1)))}.galaxy-field-fallback[data-v-ca9f1d09]{opacity:var(--galaxy-field, 1)}.galaxy-edge-fallback i[data-v-ca9f1d09]{width:3.5px;height:3.5px}.galaxy-fallback i[data-v-ca9f1d09]:nth-child(4n){background:#ffd1a4;box-shadow:0 0 5px #eaa574}.is-rendered .galaxy-fallback[data-v-ca9f1d09]{visibility:hidden}.shadertoy-container[data-v-15e7a6ee]{position:relative;display:block;width:100%;height:100%;overflow:hidden;isolation:isolate}.shader-fallback[data-v-15e7a6ee]{position:absolute;inset:12%;z-index:-1;border-radius:50%;background:radial-gradient(circle,#000 0 20%,transparent 21%),radial-gradient(ellipse at center,transparent 0 25%,rgb(255 185 90 / .85) 27%,transparent 31%),radial-gradient(ellipse at center,rgb(130 170 255 / .14),transparent 68%);filter:blur(2px) drop-shadow(0 0 2rem rgb(255 169 80 / .42));transform:scaleY(clamp(.2,var(--gargantua-inclination, .62),1)) rotate(var(--gargantua-rotation, -.12rad))}.shader-noise[data-v-15e7a6ee]{position:absolute;inset:0;z-index:2;background-image:url(https://framerusercontent.com/images/g0QcWrxr87K0ufOxIUFBakwYA8.png);background-position:center;background-repeat:repeat;pointer-events:none}[data-v-15e7a6ee] canvas{position:relative;z-index:1;display:block;width:100%;max-width:100%;height:100%;opacity:0;transition:opacity .14s ease-out}.shadertoy-container--ready[data-v-15e7a6ee] canvas{opacity:1}.shadertoy-container--failed .shader-fallback[data-v-15e7a6ee]{z-index:1}@media(prefers-reduced-motion:reduce){[data-v-15e7a6ee] canvas{transition:none}.shadertoy-container--ready[data-v-15e7a6ee] canvas{opacity:.82}}.singularity-background[data-v-c77c9534]{position:absolute;inset:0;pointer-events:none}.cosmic-site[data-v-3f628d70]{position:relative;min-height:100vh;overflow:clip;color:#f7f5f2;background:#020205;isolation:isolate}.cosmic-scroll-progress[data-v-3f628d70]{position:fixed;z-index:120;top:0;left:0;width:100%;height:2px;pointer-events:none}.universe-chapter[data-v-3f628d70]{position:relative;height:210svh}.universe-ready-anchor[data-v-3f628d70]{position:absolute;bottom:0;width:1px;height:0;scroll-margin-top:100svh}.universe-sticky[data-v-3f628d70]{position:sticky;top:0;height:100svh;color:#dbe7ff66;font-family:var(--font-mono);font-size:.55rem;letter-spacing:.16em;pointer-events:none}.universe-caption[data-v-3f628d70],.universe-coordinate[data-v-3f628d70]{position:absolute;top:50%}.universe-caption[data-v-3f628d70]{left:clamp(1rem,4vw,5rem)}.universe-coordinate[data-v-3f628d70]{right:clamp(1rem,4vw,5rem)}.cosmic-scroll-progress i[data-v-3f628d70]{display:block;width:100%;height:100%;background:linear-gradient(90deg,#ff9c4b,#ffd7a9 58%,#88a9ff);box-shadow:0 0 1rem #ff9a4999;transform:scaleX(0);transform-origin:left center}.cosmic-header[data-v-3f628d70]{position:fixed;z-index:90;top:max(1.15rem,env(safe-area-inset-top));left:clamp(1rem,3vw,3rem);display:grid;width:calc(100% - clamp(7rem,11vw,11rem));align-items:center;grid-template-columns:minmax(12rem,1fr) auto minmax(12rem,1fr);gap:1.5rem;pointer-events:none;animation:cosmic-header-enter-3f628d70 .62s cubic-bezier(.22,1,.36,1) 40ms backwards}@keyframes cosmic-header-enter-3f628d70{0%{opacity:0;transform:translate3d(0,-.65rem,0)}to{opacity:1;transform:translateZ(0)}}.cosmic-header a[data-v-3f628d70]{pointer-events:auto}.cosmic-brand[data-v-3f628d70]{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;color:#f7f5f2;text-decoration:none}.cosmic-availability[data-v-3f628d70],.cosmic-navigation[data-v-3f628d70]{font-family:var(--font-mono);font-size:.55rem;letter-spacing:.12em;text-transform:uppercase}.cosmic-navigation[data-v-3f628d70]{position:relative;display:flex;align-items:center;gap:0;padding:.68rem .95rem;border:1px solid rgb(255 255 255 / .1);border-radius:999px;background:linear-gradient(180deg,#0c0c12f0,#030308e0);box-shadow:inset 0 1px #ffffff09,0 .75rem 2.5rem #0000001f}.cosmic-navigation a[data-v-3f628d70]{display:inline-flex;min-height:1rem;align-items:center;color:#e6eaf485;letter-spacing:.16em;text-decoration:none;transition:color .18s ease,text-shadow .18s ease}.cosmic-navigation a+a[data-v-3f628d70]:before{margin-inline:clamp(.65rem,1.25vw,1rem);color:#ffffff29;content:"/"}.cosmic-navigation a[data-v-3f628d70]:hover,.cosmic-navigation a[data-v-3f628d70]:focus-visible{color:#f7f5f2;text-shadow:0 0 .8rem rgb(255 184 116 / .34)}.cosmic-navigation a[data-v-3f628d70]:focus-visible{border-radius:.2rem;outline:1px solid rgb(255 184 116 / .6);outline-offset:.3rem}.cosmic-availability[data-v-3f628d70]{display:flex;justify-self:end;align-items:center;gap:.65rem;color:#e6eaf485}.cosmic-availability i[data-v-3f628d70]{width:.4rem;height:.4rem;border-radius:50%;background:#82e6a5;box-shadow:0 0 .9rem #50e180b8}.cosmic-backdrop[data-v-3f628d70]{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(circle at 76% 40%,rgb(48 54 91 / .16),transparent 34%),radial-gradient(circle at 12% 84%,rgb(32 55 95 / .12),transparent 28%),#020205}.cosmic-black-hole[data-v-3f628d70]{position:absolute;top:50%;left:73%;width:max(78vw,78svh);height:max(78vw,78svh);opacity:.98;translate:-50% -50%;contain:layout paint style;backface-visibility:hidden;will-change:transform,opacity}.gargantua-parallax[data-v-3f628d70]{width:100%;height:100%;opacity:1;contain:strict;backface-visibility:hidden;will-change:transform}.cosmic-grid[data-v-3f628d70]{position:absolute;inset:0;background-image:linear-gradient(rgb(255 255 255 / .035) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / .035) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:radial-gradient(circle at center,black,transparent 82%);mask-image:radial-gradient(circle at center,black,transparent 82%);opacity:calc(.58 * (1 - var(--universe-presence, 0)))}.cosmic-stars[data-v-3f628d70],.cosmic-vignette[data-v-3f628d70],.cosmic-grain[data-v-3f628d70]{position:absolute;inset:0}.cosmic-star[data-v-3f628d70]{position:absolute;border-radius:50%;background:#dbe7ff;box-shadow:0 0 .55rem #91b4ffa6}.cosmic-vignette[data-v-3f628d70]{opacity:calc(1 - var(--universe-presence, 0) * .55);background:linear-gradient(90deg,rgb(2 2 5 / .5),transparent 44%,rgb(2 2 5 / .1)),radial-gradient(circle at center,transparent 38%,rgb(0 0 3 / .62) 100%)}.cosmic-grain[data-v-3f628d70]{opacity:calc(.045 - var(--universe-presence, 0) * .025);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='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E")}@media(max-width:767px){.universe-caption[data-v-3f628d70],.universe-coordinate[data-v-3f628d70]{top:24%}.cosmic-header[data-v-3f628d70]{top:max(.75rem,env(safe-area-inset-top));width:calc(100% - 2rem);grid-template-columns:1fr auto}.cosmic-navigation[data-v-3f628d70]{display:none}.cosmic-availability[data-v-3f628d70]{font-size:.48rem}.cosmic-black-hole[data-v-3f628d70]{top:31%;left:50%;width:max(112vw,78svh);height:max(112vw,78svh)}.cosmic-grid[data-v-3f628d70]{background-size:48px 48px;opacity:calc(.42 * (1 - var(--universe-presence, 0)))}}@media(prefers-reduced-motion:reduce){.universe-chapter[data-v-3f628d70]{height:100svh}.cosmic-header[data-v-3f628d70]{animation:none}.cosmic-black-hole[data-v-3f628d70]{top:22rem;left:72%;width:min(58rem,120vw);height:min(58rem,120vw);opacity:.72;transform:none!important}}.language-toggle[data-v-b1b732c9]{display:block;color:inherit;text-decoration:none}.site-dock[data-v-7af77203]{right:max(1.25rem,env(safe-area-inset-right));border-color:#ffffff1a;color:#e6eaf49e;background:linear-gradient(180deg,#0c0c12f5,#030308eb);box-shadow:inset 0 1px #ffffff09,0 .75rem 2.5rem #0000001f}.dock-toggle[data-v-7af77203]{position:fixed;top:50%;right:max(1.25rem,env(safe-area-inset-right));z-index:101;display:none;width:3rem;height:3rem;place-items:center;border:1px solid rgb(255 255 255 / .1);border-radius:999px;color:#e6eaf4ad;background:linear-gradient(180deg,#0c0c12f5,#030308eb);box-shadow:inset 0 1px #ffffff09,0 .75rem 2.5rem #00000029;transform:translateY(-50%);transition:right .3s cubic-bezier(.22,1,.36,1),box-shadow .25s ease,transform .25s cubic-bezier(.22,1,.36,1)}.dock-toggle[data-v-7af77203]:hover{border-color:#ffb87457;color:#f7f5f2;box-shadow:inset 0 1px #ffffff0d,0 0 1.4rem #ffb16214}.dock-toggle-icon[data-v-7af77203]{position:relative;display:grid;width:1.4rem;height:1.4rem;place-items:center}.dock-toggle-orbit[data-v-7af77203],.dock-toggle-close[data-v-7af77203]{grid-area:1 / 1;transition:opacity .18s ease,transform .35s cubic-bezier(.22,1,.36,1)}.dock-toggle-orbit[data-v-7af77203]{filter:drop-shadow(0 0 .35rem rgb(255 177 98 / .5))}.dock-toggle-close[data-v-7af77203]{opacity:0;transform:rotate(-90deg) scale(.65)}.dock-toggle:hover .dock-toggle-orbit[data-v-7af77203]{transform:rotate(28deg) scale(1.08)}.dock-toggle--open[data-v-7af77203]{border-color:#ffb87457;color:#f7f5f2;box-shadow:0 0 1.4rem #ffb16214}.dock-toggle--open .dock-toggle-orbit[data-v-7af77203]{opacity:0;transform:rotate(90deg) scale(.65)}.dock-toggle--open .dock-toggle-close[data-v-7af77203]{opacity:1;transform:rotate(0) scale(1)}@media(max-width:1099px){.dock-toggle[data-v-7af77203]{display:grid;top:auto;right:max(1.25rem,env(safe-area-inset-right));bottom:max(1.25rem,env(safe-area-inset-bottom));left:auto;transform:none}.dock-toggle--open[data-v-7af77203]{right:max(1.25rem,env(safe-area-inset-right));left:auto}.site-dock[data-v-7af77203]{top:auto;right:max(1.25rem,env(safe-area-inset-right));bottom:calc(max(1.25rem,env(safe-area-inset-bottom)) + 4.25rem);left:auto;visibility:hidden;opacity:0;pointer-events:none;transform:translate(1.25rem,1.25rem) scale(.92);transition:visibility 0s linear .25s,opacity .2s ease,transform .3s cubic-bezier(.22,1,.36,1)}.site-dock--open[data-v-7af77203]{visibility:visible;opacity:1;pointer-events:auto;transform:translate(0) scale(1);transition-delay:0s}}
