@import"https://fonts.googleapis.com/css2?family=Sora:wght@100..800&display=swap";.ambientBackground{--ambient-x: 0px;--ambient-y: 0px;position:fixed;inset:-7vh -4vw;z-index:0;pointer-events:none;overflow:hidden;transform:translate3d(var(--ambient-x),var(--ambient-y),0);background:radial-gradient(ellipse 48rem 34rem at -10% 7%,rgba(69,98,255,.42) 0%,rgba(69,98,255,.2) 38%,transparent 70%),radial-gradient(ellipse 40rem 30rem at 108% 20%,rgba(253,31,216,.3) 0%,rgba(253,31,216,.14) 40%,transparent 72%),radial-gradient(ellipse 44rem 32rem at 96% 70%,rgba(20,184,166,.26) 0%,rgba(20,184,166,.11) 42%,transparent 74%),#f9f9fa;will-change:transform}.ambientBackground:before{position:absolute;content:"";inset:0;opacity:.2;background-image:radial-gradient(circle,rgba(24,24,27,.32) 0 .55px,transparent .75px),radial-gradient(circle,rgba(255,255,255,.92) 0 .55px,transparent .75px);background-position:0 0,7px 9px;background-size:13px 13px,17px 17px;mix-blend-mode:multiply}.ambientBackground:after{position:absolute;content:"";inset:0;opacity:.05;background:repeating-linear-gradient(92deg,rgba(24,24,27,.14) 0,rgba(24,24,27,.14) 1px,transparent 1px,transparent 4px)}@media(max-width:860px){.ambientBackground{background:radial-gradient(ellipse 28rem 24rem at -20% 8%,rgba(69,98,255,.34) 0%,rgba(69,98,255,.16) 42%,transparent 70%),radial-gradient(ellipse 25rem 22rem at 120% 30%,rgba(253,31,216,.24) 0%,rgba(253,31,216,.1) 44%,transparent 72%),#f9f9fa}.ambientBackground:before{opacity:.14}.ambientBackground:after{opacity:.035}}html.dark-theme .ambientBackground{background:radial-gradient(ellipse 48rem 34rem at -10% 7%,rgba(69,98,255,.22) 0%,rgba(69,98,255,.08) 38%,transparent 70%),radial-gradient(ellipse 40rem 30rem at 108% 20%,rgba(253,31,216,.16) 0%,rgba(253,31,216,.06) 40%,transparent 72%),radial-gradient(ellipse 44rem 32rem at 96% 70%,rgba(20,184,166,.12) 0%,rgba(20,184,166,.04) 42%,transparent 74%),#09090b}html.dark-theme .ambientBackground:before{opacity:.14;background-image:radial-gradient(circle,rgba(255,255,255,.28) 0 .55px,transparent .75px),radial-gradient(circle,rgba(0,0,0,.86) 0 .55px,transparent .75px);mix-blend-mode:screen}html.dark-theme .ambientBackground:after{opacity:.08;background:repeating-linear-gradient(92deg,rgba(255,255,255,.08) 0,rgba(255,255,255,.08) 1px,transparent 1px,transparent 4px)}@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial}}}@layer theme{:root,:host{--font-sans:"Sora",ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--spacing:.25rem;--leading-normal:1.5;--radius-3xl:1.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.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}}.mx-auto{margin-inline:auto}.block{display:block}.flex{display:flex}.hidden{display:none}.min-h-0{min-height:calc(var(--spacing)*0)}.w-\[500px\]{width:500px}.w-full{width:100%}.max-w-\[100vw\]{max-width:100vw}.max-w-\[300px\]{max-width:300px}.flex-1{flex:1}.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}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-3{gap:calc(var(--spacing)*3)}.gap-9{gap:calc(var(--spacing)*9)}.gap-16{gap:calc(var(--spacing)*16)}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.self-stretch{align-self:stretch}.overflow-x-auto{overflow-x:auto}.rounded-3xl{border-radius:var(--radius-3xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.stroke-gray-600{stroke:var(--color-gray-600)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-4{padding-inline:calc(var(--spacing)*4)}.pt-16{padding-top:calc(var(--spacing)*16)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.text-center{text-align:center}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.text-blue-700{color:var(--color-blue-700)}.text-gray-700{color:var(--color-gray-700)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.group-hover\:stroke-current:is(:where(.group):hover *){stroke:currentColor}.hover\:underline:hover{text-decoration-line:underline}}@media(prefers-color-scheme:dark){.dark\:block{display:block}.dark\:hidden{display:none}.dark\:border-gray-700{border-color:var(--color-gray-700)}.dark\:stroke-gray-300{stroke:var(--color-gray-300)}.dark\:text-blue-500{color:var(--color-blue-500)}.dark\:text-gray-200{color:var(--color-gray-200)}}}:root{--page-gutter:clamp(1.25rem,5vw,5rem);--section-width:min(72rem, calc(100% - 2.5rem) );--section-wide-width:min(76rem, calc(100% - 2.5rem) );--section-space:clamp(6.5rem,11vw,10rem);--section-space-tight:clamp(4.5rem,8vw,7rem);--heading-gap:clamp(1.7rem,3.5vw,2.8rem)}html,body{color:#111;scroll-behavior:smooth;background-color:#f9f9fa;min-height:100%;font-weight:420;overflow-x:clip}html.dark-theme{color-scheme:dark}html.dark-theme,html.dark-theme body{color:#f4f4f5;background-color:#09090b}.appContent{z-index:1;isolation:isolate;position:relative;overflow-x:clip}.appContent>:not(.ambientBackground):not(.headerContainer){z-index:1;position:relative}html{scroll-padding-top:6rem}button,input,textarea{font:inherit}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:3px;outline:2px solid #2563eb}.bold{font-weight:800}.srOnly{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reveal{opacity:0;transition:opacity .65s,transform .65s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0s);will-change:opacity,transform;transform:translateY(28px)}.revealVisible{opacity:1;transform:translateY(0)}@keyframes buttonBorderSweep{0%,92%,to{opacity:0;transform:rotate(0)}5%{opacity:1}37%{opacity:1;transform:rotate(360deg)}44%{opacity:0;transform:rotate(375deg)}}@keyframes buttonSparkle{0%,38%,61%,to{opacity:0;transform:translate(.1rem,.1rem)scale(.3)rotate(0)}43%{opacity:1;transform:translate(0)scale(1.2)rotate(45deg)}53%{opacity:.82;transform:translate(0)scale(1)rotate(90deg)}}#home,#skills,#projects,#about,#contact{scroll-margin-top:6rem}@media(max-width:860px){:root{--section-space:clamp(4.5rem,14vw,6rem);--section-space-tight:clamp(3.5rem,11vw,5rem)}html{scroll-padding-top:8.5rem}#home,#skills,#projects,#about,#contact{scroll-margin-top:8.5rem}}@media(prefers-reduced-motion:reduce){html,body{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}.heroCTA:before,.contactButtons button:before{animation:none}}html.dark-theme .headerContainer{background-color:rgba(9,9,11,var(--header-bg-alpha));border-color:rgba(244,244,245,var(--header-border-alpha));box-shadow:0 14px 34px #0000004d}html.dark-theme .headerContainer.isDocked{border-top-color:#0000;border-left-color:#0000;border-right-color:#0000}html.dark-theme .headerContainer.isBottom{box-shadow:none;background-color:#0000;border-color:#0000}html.dark-theme .headerContainer.isBottom .headerList button{color:#e4e4e7}html.dark-theme .headerContainer.isBottom .languageToggle{background:0 0;border-color:#0000}html.dark-theme .headerContainer.isBottom .languageToggle .activeLanguage{color:#fff;background:0 0;box-shadow:inset 0 -2px #fff}html.dark-theme .logoImg{box-shadow:0 0 24px #ffffff1f}html.dark-theme .headerList button{color:#a1a1aa}html.dark-theme .headerList.hasActiveSection .activeNavItem,html.dark-theme .headerList button:hover,html.dark-theme .headerList button:focus-visible{color:#fff}html.dark-theme .headerList button:hover,html.dark-theme .headerList button:focus-visible{background-color:#27272a}html.dark-theme .activeNavUnderline{background:linear-gradient(90deg,#6f82ff,#fff,#ff65e7)}html.dark-theme .languageToggle{background-color:#27272abd;border-color:#3f3f46}html.dark-theme .languageToggle button{color:#a1a1aa}html.dark-theme .languageToggle .activeLanguage,html.dark-theme .cvDownload{color:#111;background-color:#f4f4f5}html.dark-theme .heroDescription,html.dark-theme .heroCredibility,html.dark-theme .projectDescription,html.dark-theme .projectNarrative p,html.dark-theme .projectMeta p,html.dark-theme .projectCaseNotes span,html.dark-theme .projectOutcome,html.dark-theme .projectEyebrow,html.dark-theme .aboutmeText{color:#a1a1aa}html.dark-theme .heroAvatar{filter:drop-shadow(-10px 0 12px #f472b63d)drop-shadow(0 26px 30px #0000006b)}html.dark-theme .heroAvatarShadow{background:radial-gradient(#00000094,#8b5cf633 44%,#0000 74%)}html.dark-theme .heroGrid{opacity:.9;background-image:linear-gradient(#c4b5fd57 1px,#0000 1px),linear-gradient(90deg,#f472b647 1px,#0000 1px)}html.dark-theme .heroHorizon{opacity:.92;box-shadow:0 0 10px #8b5cf6bf,0 0 22px #ec48997a}html.dark-theme .project,html.dark-theme .skill{background-color:#18181bb8;border-color:#3f3f46;box-shadow:0 12px 28px #00000038}html.dark-theme .project:hover,html.dark-theme .skill:hover{border-color:#d4d4d8;box-shadow:0 24px 48px #00000057}html.dark-theme .projectStack span{color:#d4d4d8;border-color:#52525b}html.dark-theme .projectProof,html.dark-theme .projectNarrative h4{color:#f4f4f5}html.dark-theme .projectMeta span{color:#f4f4f5;background:linear-gradient(135deg,#6f82ff24,#ff65e71a);border-color:#8fa0ff47}html.dark-theme .projectActions a{color:#f4f4f5;border-color:currentColor}html.dark-theme .projectActions a:hover{color:#8fa0ff}html.dark-theme .skill{background-color:#18181b9e}html.dark-theme .skill:hover .skillIcon{color:#8fa0ff}html.dark-theme .skillIconFrame{background:linear-gradient(135deg,#6f82ff1f,#ff65e71a),#27272aad;box-shadow:inset 0 0 0 1px #f4f4f514}html.dark-theme .projectFlagship{background:linear-gradient(135deg,#18181bd1,#18181ba8),radial-gradient(42rem 24rem at 94% 10%,#ff65e71f,#0000 66%)}html.dark-theme .pipelinePanel{background:linear-gradient(#27272ab8,#18181b70),radial-gradient(22rem 14rem at 50% 68%,#14b8a614,#0000 68%);box-shadow:inset 0 0 0 1px #f4f4f514}html.dark-theme .pipelineStage.bronze{color:#f59e7d;background:#7f1d1d29}html.dark-theme .pipelineStage.silver{color:#facc15;background:#713f1229}html.dark-theme .pipelineStage.gold{color:#5eead4;background:#064e3b29}html.dark-theme .pipelineBrowser{background:#09090bbd;border-color:#3f3f46;box-shadow:0 18px 38px #0003}html.dark-theme .pipelineBrowserBody strong{color:#111;background:#e4e4e7}html.dark-theme .contactForm input,html.dark-theme .contactForm textarea{color:#f4f4f5;background-color:#18181bc7;border-color:#3f3f46}html.dark-theme .contactForm input::placeholder,html.dark-theme .contactForm textarea::placeholder{color:#71717a}html.dark-theme .contactButtons a{color:#f4f4f5;background-color:#18181bb8;border-color:#52525b}html.dark-theme .contactTextLink:hover,html.dark-theme .contactTextLink:focus-visible{color:#8fa0ff}html.dark-theme .siteFooter{color:#a1a1aa;border-color:#27272a}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}
