/* Optimized CSS - Loaded asynchronously to prevent render blocking */
#root{max-width:100vw;margin:0 auto;text-align:left}.is-scrolling *{pointer-events:none}.is-scrolling button,.is-scrolling [role=button],.is-scrolling .language-selector,.is-scrolling .language-selector *{pointer-events:auto!important}.is-visible{opacity:1;transform:translateY(0)}::-webkit-scrollbar-track{background:#e1e1e1}::-webkit-scrollbar-thumb{background:#5d5d5d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#7a7a7a}.dark ::-webkit-scrollbar-track{background:#181818}.dark ::-webkit-scrollbar-thumb{background:#7a7a7a}.dark ::-webkit-scrollbar-thumb:hover{background:#5d5d5d}*,: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:Onest,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;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:Geist Mono,ui-monospace,SFMono-Regular,Menlo,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{--background: 0 0% 96%;--foreground: 0 0% 12%;--card: 0 0% 99%;--card-foreground: 0 0% 12%;--popover: 0 0% 99%;--popover-foreground: 0 0% 12%;--primary: 0 0% 16%;--primary-foreground: 0 0% 98%;--secondary: 0 0% 42%;--secondary-foreground: 0 0% 98%;--muted: 0 0% 91%;--muted-foreground: 0 0% 42%;--accent: 0 0% 16%;--accent-foreground: 0 0% 98%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 0 0% 76%;--input: 0 0% 76%;--ring: 0 0% 16%;--chart-1: 0 0% 16%;--chart-2: 0 0% 42%;--chart-3: 0 0% 91%;--chart-4: 0 0% 99%;--chart-5: 0 0% 12%;--radius: .25rem}.dark{--background: 0 0% 8%;--foreground: 0 0% 96%;--card: 0 0% 12%;--card-foreground: 0 0% 96%;--popover: 0 0% 12%;--popover-foreground: 0 0% 96%;--primary: 0 0% 8%;--primary-foreground: 0 0% 96%;--secondary: 0 0% 82%;--secondary-foreground: 0 0% 8%;--muted: 0 0% 19%;--muted-foreground: 0 0% 72%;--accent: 0 0% 82%;--accent-foreground: 0 0% 8%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 105 12% 96%;--border: 0 0% 28%;--input: 0 0% 28%;--ring: 0 0% 82%;--chart-1: 0 0% 82%;--chart-2: 0 0% 72%;--chart-3: 0 0% 19%;--chart-4: 0 0% 96%;--chart-5: 0 0% 8%}*{border-color:hsl(var(--border))}body,.identity-page,.hero-identity,.about-identity{background:var(--identity-bg);color:var(--identity-ink)}.hero-identity,.projects-ui,.skills-ui,.about-identity,.identity-section-frame{--section-rail: max(1rem, calc(50% - 40rem) );border-bottom:1px solid var(--identity-line);border-top:1px solid var(--identity-line);isolation:isolate;position:relative}.hero-identity:before,.projects-ui:before,.skills-ui:before,.about-identity:before,.identity-section-frame:before,.hero-identity:after,.projects-ui:after,.skills-ui:after,.about-identity:after,.identity-section-frame:after{background:var(--identity-line);bottom:0;content:"";pointer-events:none;position:absolute;top:0;width:1px;z-index:0}.hero-identity:before,.projects-ui:before,.skills-ui:before,.about-identity:before,.identity-section-frame:before{left:var(--section-rail)}.hero-identity:after,.projects-ui:after,.skills-ui:after,.about-identity:after,.identity-section-frame:after{right:var(--section-rail)}.hero-identity{overflow:hidden}.identity-nav{background:var(--identity-surface);border:1px solid var(--identity-line);border-radius:.25rem;box-shadow:4px 4px color-mix(in oklch,var(--identity-primary) 20%,transparent);color:var(--identity-ink)}.identity-nav:before{background:var(--identity-primary);content:"";height:3px;inset:0 0 auto;position:absolute}.identity-nav a,.identity-nav button,.identity-nav [class*=text-black],.identity-nav [class*="dark:text-white"]{color:var(--identity-ink)}.identity-nav a:hover,.identity-nav button:hover{color:var(--identity-primary)}.identity-menu-option:hover,.identity-menu-option.is-active{background:var(--identity-surface-raised);border-color:var(--identity-line);color:var(--identity-ink)}.identity-menu-option.is-active{border-color:var(--identity-primary);color:var(--identity-primary)}.skills-tool:hover .skills-tool-icon img,.skills-primary-list li:hover .skills-tool-icon img{filter:grayscale(0) contrast(1) saturate(1);transform:scale(1.08)}.identity-eyebrow,.about-year{color:var(--identity-primary);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase}.about-timeline-card,.about-code{background:var(--identity-surface);border:1px solid var(--identity-line);border-radius:.25rem;box-shadow:4px 4px color-mix(in oklch,var(--identity-primary) 14%,transparent)}.skills-ui{background:var(--skills-page);color:var(--skills-text);overflow:hidden;padding-block:clamp(3.5rem,6vw,5rem)}.skills-shell{--skills-shell-rail: clamp(1.25rem, 5vw, 3rem);margin-inline:auto;max-width:80rem;padding-inline:var(--skills-shell-rail)}.skills-header{max-width:58rem}.skills-header h2{color:var(--skills-text);font-family:var(--font-display);font-size:var(--type-page-title);font-weight:700;letter-spacing:-.038em;line-height:.98;text-wrap:balance}.skills-header p{color:var(--skills-muted);font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.7;margin-top:1.75rem;max-width:62ch;text-wrap:pretty}.skills-directory{margin-top:clamp(4rem,8vw,7rem)}.skills-directory-header{align-items:end;display:grid;gap:2rem;grid-template-columns:minmax(0,.75fr) minmax(0,1.55fr);padding-bottom:1.75rem}.skills-directory-header h3{color:var(--skills-text);font-family:var(--font-display);font-size:var(--type-subheading);font-weight:600;letter-spacing:-.022em;line-height:1.18}.skills-directory-header p{color:var(--skills-muted);font-size:var(--type-body);line-height:1.65;max-width:54ch}.skills-group-list{border-top:1px solid var(--skills-border);margin-inline:calc(0px - var(--skills-shell-rail));width:calc(100% + var(--skills-shell-rail) + var(--skills-shell-rail))}.skills-group{align-items:start;border-bottom:1px solid var(--skills-border);box-sizing:border-box;display:grid;gap:2rem;grid-template-columns:minmax(0,.75fr) minmax(0,1.55fr);padding-inline:var(--skills-shell-rail);padding-block:clamp(1.75rem,4vw,2.75rem);transition:background-color .18s var(--ease-out-quart);width:100%}.skills-group-copy,.skills-tool-list,.skills-tool{min-width:0}.skills-tool span{overflow-wrap:break-word}.skills-group:hover{background:var(--skills-surface)}.skills-group-copy h4{color:var(--skills-text);font-family:var(--font-display);font-size:1.25rem;font-weight:650;letter-spacing:-.018em;line-height:1.25}.skills-group-copy p{color:var(--skills-muted);font-size:var(--type-body);line-height:1.65;margin-top:.65rem;max-width:38ch}.skills-tool-list{-moz-column-gap:1.5rem;column-gap:1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));row-gap:.9rem}.skills-tool{align-items:flex-start;color:inherit;display:flex;font-size:var(--type-body);font-weight:600;gap:1.5rem;line-height:1.3;min-height:3.2rem;padding-block:.45rem}.projects-ui{background:var(--projects-page);color:var(--projects-text);font-family:var(--font-sans)}.project-card-title{color:var(--projects-text);font-family:var(--font-display);font-size:1.25rem;font-weight:600;letter-spacing:-.025em;line-height:1.2}.project-copy{color:var(--projects-muted);font-size:var(--type-body);font-weight:400;line-height:1.65}.project-meta{color:var(--projects-muted);font-size:.75rem;font-weight:500;letter-spacing:.01em}.project-category{color:var(--projects-accent);font-size:.75rem;font-weight:600;line-height:1.2}.project-card{background:var(--projects-surface);border:1px solid var(--projects-border);border-radius:.25rem;box-shadow:none;overflow:hidden;transition:border-color .22s var(--ease-out-quart),box-shadow .22s var(--ease-out-quart),transform .22s var(--ease-out-quart)}.project-card:hover{border-color:var(--projects-accent);box-shadow:var(--projects-shadow);transform:translateY(-3px)}.project-primary-action,.project-secondary-action{align-items:center;border-radius:.25rem;display:inline-flex;font-size:.875rem;font-weight:600;justify-content:center;min-height:2.75rem;padding:.7rem 1rem;transition:background-color .18s var(--ease-out-quart),border-color .18s var(--ease-out-quart),color .18s var(--ease-out-quart),transform .12s var(--ease-out-quart);white-space:nowrap}.project-primary-action{background:var(--projects-accent);border:1px solid var(--projects-accent);color:var(--projects-accent-contrast)}.project-primary-action:hover{background:var(--projects-accent-hover);border-color:var(--projects-accent-hover)}.project-secondary-action{background:transparent;border:1px solid var(--projects-border);color:var(--projects-text)}.project-secondary-action:hover{border-color:var(--projects-accent);color:var(--projects-accent)}.project-primary-action:active,.project-secondary-action:active{transform:scale(.98)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.static{position:static}.relative{position:relative}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-6{margin-bottom:1.5rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-7{margin-top:1.75rem}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-24{height:6rem}.h-4{height:1rem}.max-h-64{max-height:16rem}.min-h-\[100dvh\]{min-height:100dvh}.min-h-screen{min-height:100vh}.w-24{width:6rem}.w-4{width:1rem}.w-full{width:100%}.max-w-6xl{max-width:72rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.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}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.overflow-auto{overflow:auto}.whitespace-pre-wrap{white-space:pre-wrap}.rounded-lg{border-radius:var(--radius)}.border-y{border-top-width:1px;border-bottom-width:1px}.border-\[var\(--identity-line\)\]{border-color:var(--identity-line)}.bg-background-muted{--tw-bg-opacity: 1;background-color:oklch(91% 0 0 / var(--tw-bg-opacity, 1))}.bg-primary-600{--tw-bg-opacity: 1;background-color:oklch(35% 0 0 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-4{padding:1rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-40{padding-bottom:10rem}.pt-16{padding-top:4rem}.pt-32{padding-top:8rem}.text-left{text-align:left}.text-center{text-align:center}.font-display{font-family:Bricolage Grotesque,Onest,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.font-mono{font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.font-sans{font-family:Onest,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.text-\[clamp\(2\.5rem\,6vw\,5rem\)\]{font-size:clamp(2.5rem,6vw,5rem)}.text-\[clamp\(5rem\,16vw\,12rem\)\]{font-size:clamp(5rem,16vw,12rem)}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-8{line-height:2rem}.leading-\[0\.72\]{line-height:.72}.leading-\[0\.95\]{line-height:.95}.tracking-\[-0\.045em\]{letter-spacing:-.045em}.tracking-\[-0\.07em\]{letter-spacing:-.07em}.tracking-\[0\.18em\]{letter-spacing:.18em}.text-\[var\(--identity-ink\)\]{color:var(--identity-ink)}.text-\[var\(--identity-muted\)\]{color:var(--identity-muted)}.text-\[var\(--identity-primary\)\]{color:var(--identity-primary)}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-text-muted{--tw-text-opacity: 1;color:oklch(42% 0 0 / var(--tw-text-opacity, 1))}.text-text-primary{--tw-text-opacity: 1;color:oklch(17% 0 0 / var(--tw-text-opacity, 1))}.text-text-secondary{--tw-text-opacity: 1;color:oklch(28% 0 0 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.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,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-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}@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))}}.duration-200{animation-duration:.2s}.\!paused{animation-play-state:paused!important}.paused{animation-play-state:paused}@media(max-width:640px){.text-6xl{font-size:3rem!important;line-height:1.02!important}.text-5xl{font-size:2.5rem!important;line-height:1.05!important}.text-4xl{font-size:2.125rem!important;line-height:1.08!important}.text-3xl{font-size:1.75rem!important;line-height:1.2!important}.text-2xl{font-size:1.5rem!important;line-height:1.3!important}.text-xl{font-size:1.25rem!important;line-height:1.4!important}.text-lg{font-size:1.125rem!important;line-height:1.55!important}.text-base{font-size:1rem!important;line-height:1.6!important}.text-sm{font-size:.875rem!important;line-height:1.5!important}.text-xs{font-size:.75rem!important;line-height:1.4!important}.px-8{padding-left:1rem!important;padding-right:1rem!important}.py-8{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.px-6{padding-left:.75rem!important;padding-right:.75rem!important}.py-6{padding-top:1rem!important;padding-bottom:1rem!important}.px-4{padding-left:.5rem!important;padding-right:.5rem!important}.py-4{padding-top:.75rem!important;padding-bottom:.75rem!important}.mb-8{margin-bottom:1.5rem!important}.mb-6{margin-bottom:1rem!important}.mb-4{margin-bottom:.75rem!important}.mt-8{margin-top:1.5rem!important}.mt-6{margin-top:1rem!important}.mt-4{margin-top:.75rem!important}.px-8.py-3\.5{padding:.625rem 1.25rem!important}.px-6.py-3{padding:.5rem 1rem!important}.px-4.py-2{padding:.375rem .75rem!important}.px-3.py-1\.5{padding:.25rem .625rem!important}.h-6.w-6{height:1.25rem!important;width:1.25rem!important}.h-5.w-5{height:1rem!important;width:1rem!important}.h-4.w-4{height:.875rem!important;width:.875rem!important}.container{padding-left:.75rem!important;padding-right:.75rem!important}.max-w-7xl,.max-w-6xl,.max-w-5xl,.max-w-4xl{max-width:100%!important}.max-w-lg{max-width:20rem!important}.max-w-md{max-width:18rem!important}.pl-12{padding-left:.75rem!important}.pr-12{padding-right:.75rem!important}.pl-10{padding-left:.625rem!important}.pr-10{padding-right:.625rem!important}.py-2\.5{padding-top:.5rem!important;padding-bottom:.5rem!important}.space-y-8>*+*{margin-top:1.5rem!important}.space-y-6>*+*{margin-top:1rem!important}.space-y-4>*+*{margin-top:.75rem!important}.gap-8{gap:1.5rem!important}.gap-6{gap:1rem!important}.gap-4{gap:.75rem!important}h1,.text-6xl,.text-5xl,.text-4xl{font-weight:700!important;letter-spacing:-.025em!important}h2,.text-3xl,.text-2xl{font-weight:600!important;letter-spacing:-.015em!important}button .text-lg{font-size:.9rem!important}button .text-base{font-size:.85rem!important}button .text-sm{font-size:.8rem!important}.navbar-height{height:3.5rem!important}input,textarea,select{font-size:1rem!important;padding:.5rem .75rem!important}input[type=text][placeholder*=search i],input[type=search],input[placeholder*=Search i]{font-size:1rem!important;padding:.5rem .75rem!important;max-width:100%!important}.rounded-full.px-3.py-1{padding:.25rem .625rem!important;font-size:.75rem!important}.rounded-full.px-4.py-1{padding:.375rem .75rem!important;font-size:.8rem!important}}@media(max-width:480px){.text-6xl{font-size:2.75rem!important}.text-5xl{font-size:2.375rem!important}.text-4xl{font-size:2rem!important}.text-3xl{font-size:1.75rem!important}.text-2xl{font-size:1.5rem!important}.text-xl{font-size:1.25rem!important}.text-lg{font-size:1.125rem!important}.text-base{font-size:1rem!important}.px-4{padding-left:.375rem!important;padding-right:.375rem!important}.py-4{padding-top:.5rem!important;padding-bottom:.5rem!important}.container{padding-left:.5rem!important;padding-right:.5rem!important}.max-w-md{max-width:16rem!important}.max-w-lg{max-width:18rem!important}.px-8.py-3\.5{padding:.5rem 1rem!important}.px-6.py-3{padding:.375rem .875rem!important}input[type=text][placeholder*=search i],input[type=search],input[placeholder*=Search i]{font-size:1rem!important;padding:.375rem .5rem!important}.max-w-6xl{max-width:calc(100% - 1rem)!important}.gap-4{gap:.5rem!important}.gap-6{gap:.75rem!important}.gap-8{gap:1rem!important}.grid.gap-4>*{margin:0!important}}img{content-visibility:auto;contain-intrinsic-size:300px 200px}@media(max-width:768px){html,body{overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch}.fixed{touch-action:manipulation}}:root{--font-sans: "Onest", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Bricolage Grotesque", "Onest", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--type-display: clamp(3rem, 7vw, 5.5rem);--type-page-title: clamp(2.75rem, 5.5vw, 4.5rem);--type-section-title: clamp(2.25rem, 4vw, 3.5rem);--type-subheading: clamp(1.5rem, 2.2vw, 2rem);--type-lead: 1.125rem;--type-body: 1rem;--type-meta: .875rem;--section-content-gap: clamp(.75rem, 3vw, 1.25rem);--identity-bg: #EFF3F1;--identity-surface: #F9FBFA;--identity-surface-raised: #DFE8E4;--identity-ink: #18282F;--identity-muted: #53666D;--identity-line: #C8D4D3;--identity-primary: #B43B2F;--identity-primary-strong: #8F2E26;--identity-signal: var(--identity-primary);--identity-on-primary: #EFF3F1;--identity-on-signal: var(--identity-on-primary);--identity-primary-rgb: 180, 59, 47;--identity-contact-bg: #252A2D;--identity-contact-text: #F4F6F3;--identity-signal-rgb: var(--identity-primary-rgb);--projects-page: var(--identity-bg);--projects-surface: var(--identity-surface);--projects-surface-muted: var(--identity-surface-raised);--projects-border: var(--identity-line);--projects-text: var(--identity-ink);--projects-muted: var(--identity-muted);--projects-accent: var(--identity-primary);--projects-accent-hover: var(--identity-primary-strong);--projects-accent-contrast: var(--identity-on-primary);--projects-signal: var(--identity-signal);--projects-shadow: none;--skills-page: var(--identity-bg);--skills-surface: var(--identity-surface);--skills-surface-strong: var(--identity-surface-raised);--skills-border: var(--identity-line);--skills-text: var(--identity-ink);--skills-muted: var(--identity-muted);--skills-accent: var(--identity-primary);--skills-accent-contrast: var(--identity-on-primary);--skills-icon-surface: var(--identity-surface-raised);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-out-quint: cubic-bezier(.22, 1, .36, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1)}.dark{--identity-bg: #101B20;--identity-surface: #18272C;--identity-surface-raised: #253A3F;--identity-ink: #F0F5F2;--identity-muted: #B6C3C1;--identity-line: #3B5155;--identity-primary: #F17C65;--identity-primary-strong: #FF9D87;--identity-signal: var(--identity-primary);--identity-on-primary: #101B20;--identity-on-signal: var(--identity-on-primary);--identity-primary-rgb: 241, 124, 101;--identity-contact-bg: #BEC5C1;--identity-contact-text: #18282F;--identity-signal-rgb: var(--identity-primary-rgb);--projects-page: var(--identity-bg);--projects-surface: var(--identity-surface);--projects-surface-muted: var(--identity-surface-raised);--projects-border: var(--identity-line);--projects-text: var(--identity-ink);--projects-muted: var(--identity-muted);--projects-accent: var(--identity-primary);--projects-accent-hover: var(--identity-primary-strong);--projects-accent-contrast: var(--identity-on-primary);--projects-signal: var(--identity-signal);--projects-shadow: none;--skills-page: var(--identity-bg);--skills-surface: var(--identity-surface);--skills-surface-strong: var(--identity-surface-raised);--skills-border: var(--identity-line);--skills-text: var(--identity-ink);--skills-muted: var(--identity-muted);--skills-accent: var(--identity-primary);--skills-accent-contrast: var(--identity-on-primary);--skills-icon-surface: var(--identity-surface-raised)}html,body{background:var(--identity-bg);color:var(--identity-ink);overflow-x:clip}@supports not (overflow: clip){html,body{overflow-x:hidden}}body{font-family:var(--font-sans)}::-moz-selection{background:var(--identity-primary);color:var(--identity-on-primary)}::selection{background:var(--identity-primary);color:var(--identity-on-primary)}:focus-visible{outline:2px solid var(--identity-primary);outline-offset:3px}@media(max-width:767px){.hero-identity,.projects-ui,.skills-ui,.about-identity,.identity-section-frame{--section-rail: 1rem}.identity-nav-shell{left:1.25rem;right:1.25rem}.hero-identity>.container,.projects-ui>.max-w-7xl,.skills-shell,.about-identity,.identity-section-frame{padding-left:2rem!important;padding-right:2rem!important}.about-identity>.max-w-6xl,.identity-section-frame>.max-w-6xl{margin-inline:0;max-width:none!important;width:100%}.skills-ui{padding-block:5rem}.skills-shell{--skills-shell-rail: 2rem;padding-inline:var(--skills-shell-rail)}.skills-header h2{font-size:clamp(2.5rem,13vw,3.45rem);line-height:1}.skills-primary{align-items:start;grid-template-columns:1fr}.skills-primary-copy p{max-width:44ch}.skills-primary-list{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1.5rem}.skills-primary-list li:nth-child(odd){border-left:0}.skills-directory-header,.skills-group{grid-template-columns:1fr;gap:1rem}.skills-directory-header{padding-bottom:1.5rem}.skills-tool-list{grid-template-columns:repeat(2,minmax(0,1fr))}.skills-principle{grid-template-columns:1fr}.home-about-section{padding-inline:var(--section-content-gap)}}@media(max-width:479px){.skills-tool-list{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.project-card,.project-primary-action,.project-secondary-action,.project-control{transition:none}}@media(max-width:768px){.projects-ui input.project-control[type=text]{padding-left:3.25rem!important;padding-right:1rem!important}}@keyframes nav-popover-enter{0%{opacity:0;transform:translate(-50%,-6px) scale(.985)}to{opacity:1;transform:translate(-50%) scale(1)}}.nav-popover{animation:nav-popover-enter .24s cubic-bezier(.16,1,.3,1) both;transform-origin:top center}.language-selector-mobile .nav-popover{animation-name:nav-mobile-popover-enter;transform-origin:top right}@keyframes nav-mobile-popover-enter{0%{opacity:0;transform:translateY(-6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.shadow-input{box-shadow:0 0 0 1px var(--identity-line)}.font-display{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;font-feature-settings:"liga" 1,"kern" 1}.font-display-light{font-family:var(--font-display);font-weight:400;letter-spacing:-.005em;font-feature-settings:"liga" 1,"kern" 1}.font-display-bold{font-family:var(--font-display);font-weight:700;letter-spacing:-.025em;font-feature-settings:"liga" 1,"kern" 1}.font-display-black{font-family:var(--font-display);font-weight:800;letter-spacing:-.035em;font-feature-settings:"liga" 1,"kern" 1}.font-body{font-family:var(--font-sans);font-weight:400;line-height:1.65}.type-display,.type-page-title,.type-section-title,.type-subheading{font-family:var(--font-display);font-kerning:normal;text-wrap:balance}.type-display{font-size:var(--type-display);font-weight:700;letter-spacing:-.038em;line-height:.98}.type-page-title{font-size:var(--type-page-title);font-weight:700;letter-spacing:-.035em;line-height:1}.type-section-title{font-size:var(--type-section-title);font-weight:700;letter-spacing:-.032em;line-height:1.05}.type-subheading{font-size:var(--type-subheading);font-weight:600;letter-spacing:-.022em;line-height:1.18}.type-intro{font-family:var(--font-display);font-size:clamp(1.25rem,2vw,1.5rem);font-weight:500;letter-spacing:-.012em;line-height:1.3}.type-lead{font-size:var(--type-lead);line-height:1.7;max-width:65ch;text-wrap:pretty}.type-body{font-size:var(--type-body);line-height:1.65;max-width:70ch;text-wrap:pretty}.type-meta{font-size:var(--type-meta);font-weight:500;line-height:1.45}.text-contrast-high{color:#0f0f0f}.text-contrast-medium{color:#292929}.text-contrast-low{color:#4d4d4d}.dark .text-contrast-high,.dark .text-contrast-medium{color:#f2f2f2}.dark .text-contrast-low{color:#5d5d5d}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);font-size:var(--type-body);line-height:1.65;color:var(--identity-ink);background-color:var(--identity-bg);min-height:100vh;min-height:100dvh;font-weight:400;font-feature-settings:"liga" 1,"kern" 1;font-kerning:normal;font-optical-sizing:auto;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;overscroll-behavior-y:none}h1,h2,h3,h4{font-family:var(--font-display);font-kerning:normal;text-wrap:balance}p{text-wrap:pretty}code,pre,kbd,samp{font-family:var(--font-mono);font-variant-ligatures:none}.dark body{background-color:var(--identity-bg);color:var(--identity-ink)}html{position:relative;scroll-behavior:smooth;background-color:var(--identity-bg);min-height:100vh;min-height:100dvh;overscroll-behavior:none;overscroll-behavior-y:none}html.dark{background-color:#0b0b0b}@media(prefers-color-scheme:dark){html:not(.light):not(.dark){background-color:#0b0b0b}body:not(.light):not(.dark){background-color:#0b0b0b;color:#f2f2f2}}html:not(.dark){background-color:#f2f2f2}html:not(.dark) body{background-color:#f2f2f2;color:#0f0f0f}@supports (-webkit-overflow-scrolling: touch){html,body{overscroll-behavior:none;overscroll-behavior-y:none;-webkit-overflow-scrolling:touch}}html:before{content:"";position:fixed;top:-100px;left:0;right:0;height:200px;background-color:#f2f2f2;z-index:-1}html.dark:before{background-color:#0b0b0b}@media(prefers-color-scheme:dark){html:not(.light):not(.dark):before{background-color:#0b0b0b}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgb(var(--identity-primary-rgb) / .34);border-radius:4px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}::-webkit-scrollbar-thumb:hover{background:rgb(var(--identity-primary-rgb) / .58)}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:rgb(var(--identity-primary-rgb) / .3) transparent}.scrollbar-thin::-webkit-scrollbar{width:6px}.scrollbar-thin::-webkit-scrollbar-track{background:transparent}.scrollbar-thin::-webkit-scrollbar-thumb{background:rgb(var(--identity-primary-rgb) / .34);border-radius:3px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background:rgb(var(--identity-primary-rgb) / .58)}.scrollbar-thumb-gray-300::-webkit-scrollbar-thumb{background:rgb(var(--identity-primary-rgb) / .5)}.dark .scrollbar-thumb-gray-600::-webkit-scrollbar-thumb{background:rgb(var(--identity-primary-rgb) / .5)}.scrollbar-track-transparent::-webkit-scrollbar-track{background:transparent}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.nav-popover{animation:none!important}}.skip-link{background:var(--identity-primary);color:var(--identity-on-primary);left:1rem;padding:.7rem .9rem;position:fixed;top:.75rem;transform:translateY(-160%);transition:transform .18s var(--ease-out-quart);z-index:100}.skip-link:focus{transform:translateY(0)}.site-main:focus{outline:2px solid var(--identity-primary);outline-offset:4px}.identity-nav-shell{--identity-nav-rail-gap: clamp(.5rem, 1.5vw, 1.25rem);left:0;right:0;position:fixed;top:1.25rem;transform:none;width:100%;padding-left:calc(1rem + var(--identity-nav-rail-gap));padding-right:calc(1rem + var(--identity-nav-rail-gap));z-index:50}.identity-nav{align-items:center;box-shadow:none;display:flex;gap:1rem;height:4.25rem;justify-content:space-between;padding:.45rem .7rem .45rem .85rem;margin-inline:auto;max-width:calc(80rem - (2 * var(--identity-nav-rail-gap)))}.identity-nav:before{display:none}.identity-nav-brand,.identity-nav-link,.identity-nav-control,.identity-language-option,.site-footer a,.project-text-link,.project-icon-link,.hero-social-links a{transition:color .18s var(--ease-out-quart),background-color .18s var(--ease-out-quart),border-color .18s var(--ease-out-quart),transform .18s var(--ease-out-quart)}.identity-nav-brand{align-items:center;display:inline-flex;flex:0 0 auto}.identity-nav-brand img{height:2.8rem;-o-object-fit:contain;object-fit:contain;width:2.8rem}.identity-nav-links,.identity-nav-controls{align-items:center;display:flex}.identity-nav-links{gap:clamp(.15rem,1.2vw,1rem);margin-inline:auto}.identity-nav-link,.identity-nav-control{align-items:center;background:transparent;border:1px solid transparent;color:var(--identity-muted);display:inline-flex;font-family:var(--font-mono);font-size:.7rem;justify-content:center;letter-spacing:.04em;min-height:2.7rem;padding:.55rem .65rem;text-transform:uppercase;touch-action:manipulation;white-space:nowrap}.identity-nav-link:hover,.identity-nav-link.is-active,.identity-nav-control:hover{color:var(--identity-primary)}.identity-nav-link.is-active{border-bottom-color:var(--identity-primary)}.identity-nav-controls{gap:.15rem;position:relative}.identity-theme-control{padding-inline:.55rem}.identity-language-control{position:relative}.identity-language-menu{background:var(--identity-surface);border:1px solid var(--identity-line);border-radius:.25rem;box-shadow:none;min-width:10rem;padding:.3rem;position:absolute;right:0;top:calc(100% + .4rem)}.identity-language-option{align-items:center;background:transparent;border:1px solid transparent;color:var(--identity-muted);display:grid;font-family:var(--font-mono);font-size:.72rem;gap:.7rem;grid-template-columns:2rem 1fr auto;padding:.6rem .55rem;text-align:left;width:100%}.identity-language-option:hover,.identity-language-option.is-active{border-color:var(--identity-line);color:var(--identity-primary)}.hero-identity{border-top:0;min-height:100dvh;padding:clamp(8rem,15vh,11rem) clamp(1.25rem,5vw,3rem) 2.25rem}.hero-grid-shell,.selected-work-intro,.selected-work-grid,.profile-section-grid,.home-about-section,.contact-section-grid,.about-intro-section,.about-timeline-section,.about-focus-section,.currently-section,.about-connect-section,.site-footer-inner,.site-footer-bottom,.projects-page-hero,.projects-filter-panel,.projects-result-count,.projects-page-grid{margin-inline:auto;max-width:80rem;position:relative;z-index:1}.hero-grid-shell,.selected-work-intro,.selected-work-grid,.profile-section-grid,.contact-section-grid,.about-intro-section,.about-timeline-section,.about-focus-section,.about-connect-section,.identity-section-frame>.max-w-6xl{padding-inline:var(--section-content-gap)}.hero-grid-shell{align-items:center;display:grid;gap:clamp(2rem,5vw,5rem);grid-template-columns:minmax(0,.94fr) minmax(20rem,1.06fr);min-height:calc(100dvh - 12rem)}.hero-copy-block,.hero-visual{position:relative;z-index:1}.hero-copy-block{max-width:57rem;padding-left:clamp(1rem,2.5vw,3rem);padding-right:clamp(1rem,2vw,2.5rem)}.hero-heading{color:var(--identity-ink);font-family:var(--font-display);font-size:clamp(4rem,8.3vw,7.5rem);font-weight:700;font-kerning:normal;letter-spacing:-.03em;line-height:.84;margin:1.3rem 0 2rem;max-width:8ch;text-wrap:balance}.hero-rule{background:var(--identity-line);height:1px;width:100%}.hero-role{color:var(--identity-ink);font-family:var(--font-display);font-size:clamp(1.25rem,2vw,1.85rem);font-weight:500;letter-spacing:-.035em;line-height:1.16;margin-top:1.4rem;max-width:31ch}.hero-description{color:var(--identity-muted);font-size:.95rem;line-height:1.7;margin-top:1rem;max-width:53ch}.hero-actions,.contact-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem;margin-top:2rem}.identity-primary-button,.identity-secondary-button{align-items:center;border-radius:.25rem;display:inline-flex;font-size:.82rem;font-weight:650;gap:.5rem;justify-content:center;min-height:2.8rem;padding:.7rem .9rem}.identity-primary-button{background:var(--identity-primary);border:1px solid var(--identity-primary);color:var(--identity-on-primary)}.identity-primary-button:hover,.identity-primary-button:focus-visible{background:var(--identity-primary-strong);border-color:var(--identity-primary-strong);color:var(--identity-on-primary)}.identity-secondary-button{background:transparent;border:1px solid var(--identity-line);color:var(--identity-ink)}.identity-secondary-button:hover,.identity-secondary-button:focus-visible{border-color:var(--identity-primary);color:var(--identity-primary)}.project-category,.profile-list-company{color:var(--identity-primary);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.04em;text-transform:uppercase}.hero-visual{align-self:center;justify-self:end;margin:0;max-width:42rem;min-width:0;width:100%}.hero-visual img{content-visibility:visible;display:block;height:auto;max-height:min(70vh,46rem);-o-object-fit:contain;object-fit:contain;width:100%}.hero-social-links{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.2rem}.hero-social-links a{align-items:center;color:var(--identity-muted);display:inline-flex;font-family:var(--font-mono);font-size:.7rem;gap:.4rem;letter-spacing:.035em;text-transform:uppercase}.hero-social-links a:hover{color:var(--identity-primary);transform:translateY(-2px)}.selected-work-section,.profile-section,.home-about-section,.contact-section,.about-page-content,.projects-page{padding:clamp(5.5rem,11vw,10rem) clamp(1.25rem,5vw,3rem)}.selected-work-section{border-top:0;padding-bottom:clamp(2rem,3vw,3rem);padding-top:clamp(3rem,5vw,4rem)}.selected-work-intro{align-items:end;display:grid;gap:2rem;grid-template-columns:minmax(0,1fr) minmax(16rem,.8fr)}.selected-work-description{max-width:35ch}.selected-work-grid{display:grid;gap:1rem;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);margin-top:clamp(2rem,4vw,3.5rem)}.selected-work-grid .project-card-featured{grid-row:span 2}.selected-work-grid .project-card-media{aspect-ratio:16 / 9}.selected-work-grid .project-card:hover .project-image-slider-image{transform:none}.project-card{background:var(--identity-surface);border:1px solid var(--identity-line);border-radius:.25rem;box-shadow:none;display:flex;flex-direction:column;min-width:0;overflow:hidden;transition:border-color .18s var(--ease-out-quart),transform .18s var(--ease-out-quart)}.project-card:hover{border-color:var(--identity-primary);box-shadow:none;transform:translateY(-3px)}.project-card-media{background:var(--identity-surface-raised);aspect-ratio:3 / 2;border-bottom:1px solid var(--identity-line);display:block;overflow:hidden;position:relative}.project-card-media picture,.project-card-media img{display:block;height:100%;width:100%}.project-card-media img{content-visibility:visible;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.project-image-slider{align-items:center;background:var(--identity-surface-raised);display:block;height:100%;overflow:hidden;position:relative;width:100%}.project-image-slider-slide{align-items:center;background:var(--identity-surface-raised);display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;position:absolute}.project-image-slider-slide picture,.project-image-slider-image{contain:none;content-visibility:visible;display:block;height:100%;width:100%}.project-card-media .project-image-slider-image{aspect-ratio:auto;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.project-image-slider-control{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--identity-surface);border:1px solid var(--identity-line);border-radius:.25rem;color:var(--identity-ink);cursor:pointer;display:inline-flex;font-family:var(--font-mono);font-size:.85rem;height:2.25rem;justify-content:center;line-height:1;position:absolute;transition:background-color .18s var(--ease-out-quart),border-color .18s var(--ease-out-quart),color .18s var(--ease-out-quart),transform .18s var(--ease-out-quart);width:2.25rem;z-index:2}.project-image-slider-control:hover,.project-image-slider-control:focus-visible{background:var(--identity-primary);border-color:var(--identity-primary);color:var(--identity-on-primary)}.project-image-slider-control:focus-visible{outline:2px solid var(--identity-primary);outline-offset:2px}.project-image-slider-control:active{transform:translateY(1px)}.project-image-slider-play{left:.75rem;top:.75rem}.project-image-slider-fullscreen{right:.75rem;top:.75rem}.project-image-slider-previous,.project-image-slider-next{top:50%;transform:translateY(-50%)}.project-image-slider-previous{left:.75rem}.project-image-slider-next{right:.75rem}.project-image-slider-previous:active,.project-image-slider-next:active{transform:translateY(calc(-50% + 1px))}.project-image-slider-counter{background:var(--identity-ink);border-radius:.25rem;bottom:.75rem;color:var(--identity-bg);font-family:var(--font-mono);font-size:.66rem;left:50%;padding:.35rem .55rem;position:absolute;transform:translate(-50%);z-index:2}.project-card-content{display:flex;flex:1;flex-direction:column;min-width:0;padding:clamp(1.05rem,2vw,1.5rem)}.project-card-heading{align-items:start;display:flex;gap:1rem;justify-content:space-between;min-width:0}.project-card-heading>div:first-child{min-width:0}.project-card-title{color:var(--identity-ink);font-family:var(--font-display);font-size:clamp(1.3rem,2vw,1.85rem);font-weight:600;letter-spacing:-.04em;line-height:1.05;margin-top:.45rem;overflow-wrap:anywhere}.project-meta{color:var(--identity-muted);flex:0 0 auto;font-family:var(--font-mono);font-size:.68rem;padding-top:.15rem;text-transform:uppercase}.project-card-description{color:var(--identity-muted);font-size:.9rem;line-height:1.65;margin-top:1.25rem;max-width:58ch;overflow-wrap:break-word}.project-card-footer{align-items:end;border-top:1px solid var(--identity-line);display:flex;gap:1rem;justify-content:space-between;margin-top:auto;padding-top:1rem}.project-tech-list{color:var(--identity-muted);display:flex;flex-wrap:wrap;font-family:var(--font-mono);font-size:.67rem;gap:.35rem .7rem;line-height:1.5;max-width:70%;min-width:0}.project-tech-list span{min-width:0;overflow-wrap:anywhere}.project-card-links,.contact-links{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.project-card-links{min-width:0}.project-text-link{align-items:center;color:var(--identity-ink);display:inline-flex;font-size:.78rem;font-weight:650;gap:.35rem;white-space:nowrap}.project-text-link:hover,.project-icon-link:hover{color:var(--identity-primary)}.project-icon-link{color:var(--identity-muted);display:inline-flex}.profile-section{border-top:0}.experience-section.profile-section-compact{padding-block:clamp(2rem,3vw,3.25rem)}.profile-section-grid{align-items:start;display:grid;gap:clamp(2.5rem,8vw,8rem);grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.profile-section-intro{position:sticky;top:8rem}.profile-section-intro .type-section-title{margin-top:1rem}.profile-section-intro .type-body{color:var(--identity-muted);margin-top:1.25rem;max-width:32ch}.profile-list{border-top:0}.profile-list-row{border-bottom:1px solid var(--identity-line);display:grid;gap:1.2rem;grid-template-columns:2rem minmax(0,1fr);padding-block:clamp(1.5rem,3vw,2.4rem)}.profile-list-row:last-child{border-bottom:0}.profile-list-content,.profile-list-heading>div:first-child{min-width:0}.profile-list-index{color:var(--identity-primary);font-family:var(--font-mono);font-size:.7rem;padding-top:.25rem}.profile-list-heading{align-items:start;display:flex;gap:1rem;justify-content:space-between}.profile-list-heading h3{color:var(--identity-ink);font-family:var(--font-display);font-size:clamp(1.35rem,2.4vw,2rem);font-weight:600;letter-spacing:-.035em;line-height:1.08;overflow-wrap:anywhere}.profile-list-company{margin-top:.45rem;overflow-wrap:anywhere}.education-list .profile-list-institution{color:var(--identity-ink);font-family:var(--font-display);font-size:clamp(.95rem,1.3vw,1.15rem);font-weight:650;letter-spacing:-.025em;line-height:1.1;margin-top:.65rem;overflow-wrap:break-word}.profile-list-period{color:var(--identity-muted);flex:0 0 auto;font-family:var(--font-mono);font-size:.7rem;padding-top:.25rem;text-align:right;text-transform:uppercase;overflow-wrap:anywhere}.profile-list-content>.type-body{color:var(--identity-muted);margin-top:1rem;max-width:58ch}.experience-entry-link,.education-entry-link{margin-top:1rem}.home-about-section{display:block;padding-block:clamp(3.5rem,5vw,5rem)}.home-about-copy{padding-top:.85rem}.home-about-main-grid{align-items:start;display:grid;gap:clamp(2rem,7vw,7rem);grid-template-columns:minmax(0,1fr) minmax(0,.95fr);margin-top:.85rem}.home-about-headline{color:var(--identity-ink);font-family:var(--font-display);font-size:clamp(2.8rem,5.5vw,5.8rem);font-weight:600;letter-spacing:-.035em;line-height:.97;margin-top:0;max-width:14ch;text-wrap:balance}.home-about-body{display:grid;gap:.9rem;grid-template-columns:1fr;margin-top:0;max-width:46ch}.home-about-body .type-body{color:var(--identity-muted);max-width:42ch}.home-about-copy .project-text-link{justify-content:flex-start;margin-top:1.5rem}.home-about-statements{border-top:1px solid var(--identity-line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(2rem,3.5vw,3.25rem)}.home-about-statement{border-bottom:1px solid var(--identity-line);min-width:0;padding:clamp(1.2rem,2vw,1.75rem) clamp(1rem,2.5vw,2rem) clamp(1.2rem,2vw,1.75rem) 0}.home-about-statement+.home-about-statement{border-left:1px solid var(--identity-line);padding-left:clamp(1.25rem,3vw,2.5rem)}.home-about-statement h3{color:var(--identity-ink);font-family:var(--font-display);font-size:clamp(1.15rem,1.7vw,1.6rem);font-weight:600;letter-spacing:-.02em;line-height:1.05;text-transform:uppercase}.home-about-statement .type-body{color:var(--identity-muted);margin-top:.7rem;max-width:30ch}.education-section{background:var(--identity-surface)}.education-section.profile-section-compact{padding-block:clamp(4rem,8vw,7rem)}.contact-section{background:var(--identity-contact-bg);color:var(--identity-contact-text)}.contact-section .identity-eyebrow,.contact-section .type-lead,.contact-section .project-text-link{color:var(--identity-contact-text)}.contact-section-grid{align-items:end;display:grid;gap:2rem;grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}.contact-heading{color:var(--identity-contact-text);font-family:var(--font-display);font-size:clamp(3rem,7vw,6.8rem);font-weight:600;letter-spacing:-.07em;line-height:.9;max-width:8ch}.contact-section-copy .type-lead{max-width:38ch}.contact-section .identity-primary-button{background:var(--identity-primary);color:var(--identity-on-primary)}.contact-section .identity-secondary-button{border-color:color-mix(in srgb,var(--identity-contact-text) 35%,transparent);color:var(--identity-contact-text)}.contact-section .identity-secondary-button:hover,.contact-section .identity-secondary-button:focus-visible,.contact-section .project-text-link:hover{border-color:var(--identity-primary);color:var(--identity-primary)}.contact-section .contact-links{margin-top:1.4rem}.about-page-content{padding-inline:clamp(2rem,8vw,4.5rem);padding-bottom:clamp(1.75rem,4vw,3rem);padding-top:clamp(5rem,8vw,7rem)}.about-intro-section,.about-focus-section,.about-connect-section{align-items:start;display:grid;gap:clamp(2rem,7vw,7rem);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.about-intro-section{position:relative;padding-bottom:clamp(2.5rem,5vw,4rem)}.about-intro-section:after{background:var(--identity-line);bottom:0;content:"";height:1px;left:0;position:absolute;right:0}.about-intro-copy .type-page-title{margin-top:.85rem}.about-intro-copy .type-lead{color:var(--identity-muted);margin-top:1.15rem;max-width:32ch}.about-statement{color:var(--identity-ink);font-family:var(--font-sans);font-size:clamp(1.05rem,1.35vw,1.35rem);letter-spacing:-.012em;line-height:1.5;max-width:58ch;padding-top:clamp(1.75rem,3vw,2.5rem)}.about-statement p+p{margin-top:1rem}.about-timeline-section{margin-top:clamp(3rem,6vw,5rem)}.about-section-header{align-items:end;display:grid;gap:1rem;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.about-section-header .type-section-title{margin-top:.85rem}.about-section-header .type-body{color:var(--identity-muted);max-width:48ch}.about-timeline-shell{margin-top:clamp(2.5rem,5vw,4.5rem);max-width:72rem;position:relative}.about-timeline-rail{background:var(--identity-line);bottom:.75rem;left:.2rem;position:absolute;top:.75rem;transform-origin:top;width:1px}.about-timeline-progress{background:var(--identity-primary);bottom:.75rem;left:.2rem;position:absolute;top:.75rem;transform-origin:top;width:1px;z-index:1}.about-timeline-items{display:grid;gap:clamp(1rem,2vw,1.5rem)}.about-timeline-item{padding-left:clamp(3.5rem,7vw,7rem);position:relative}.about-timeline-tick{background:var(--identity-primary);height:1px;left:.2rem;position:absolute;top:2rem;transform-origin:left;width:clamp(1.35rem,3vw,2.75rem)}.about-timeline-card{background:transparent;border:0;border-radius:.35rem;box-shadow:none;min-width:0;padding:clamp(1.15rem,2.4vw,1.8rem);transition:background-color .18s var(--ease-out-quart)}.about-timeline-card:hover{background:transparent}.about-timeline-card-heading{align-items:start;display:grid;gap:clamp(2rem,8vw,8rem);grid-template-columns:minmax(0,1fr) auto}.about-timeline-card-copy{min-width:0}.about-timeline-card-heading h3{color:var(--identity-ink);font-family:var(--font-display);font-size:clamp(1.2rem,2.1vw,1.8rem);font-weight:600;letter-spacing:-.035em;line-height:1.05;overflow-wrap:anywhere;text-wrap:balance}.about-timeline-detail{color:var(--identity-primary);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.04em;margin-top:.55rem;overflow-wrap:anywhere;text-transform:uppercase}.about-timeline-institution{color:var(--identity-ink);font-family:var(--font-display);font-size:clamp(1rem,1.45vw,1.2rem);font-weight:550;letter-spacing:-.02em;margin-top:.45rem;overflow-wrap:anywhere}.about-timeline-period{color:var(--identity-muted);font-family:var(--font-mono);font-size:.7rem;justify-self:end;line-height:1.4;text-align:right;text-transform:uppercase;overflow-wrap:anywhere}.about-timeline-description{color:var(--identity-muted);margin-top:1rem;max-width:66ch}.about-timeline-link{margin-top:1rem}.about-focus-section,.about-connect-section{border-top:1px solid var(--identity-line);margin-top:clamp(1.5rem,3vw,2.5rem);padding-top:1.1rem}.about-focus-section .type-section-title,.about-connect-section .type-section-title{margin-top:1rem;max-width:14ch}.about-focus-content,.about-connect-content{max-width:52ch}.about-focus-content .type-lead,.about-connect-content .type-lead{color:var(--identity-muted)}.about-focus-list{border-top:1px solid var(--identity-line);list-style:none;margin-top:1.75rem}.about-focus-list li{border-bottom:1px solid var(--identity-line);padding-block:.9rem}.about-focus-list li:before{background:var(--identity-primary);content:"";display:inline-block;height:.35rem;margin:.05rem .7rem 0 0;vertical-align:middle;width:.35rem}.about-connect-content .contact-links{align-items:flex-start;flex-direction:column;margin-top:1.5rem}.projects-page{min-height:100dvh;padding-top:clamp(9rem,15vh,12rem)}.projects-page-hero{align-items:end;display:grid;gap:2rem;grid-template-columns:minmax(0,1fr) minmax(0,.75fr)}.projects-page-hero .type-page-title{margin-top:1rem}.projects-page-hero>.type-lead{color:var(--identity-muted);max-width:38ch}.projects-filter-panel{align-items:end;border-bottom:1px solid var(--identity-line);border-top:1px solid var(--identity-line);display:grid;gap:1rem;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(8rem,.8fr));margin-top:clamp(3rem,6vw,5rem);padding-block:1rem}.projects-filter-panel label{display:grid;gap:.45rem}.projects-filter-panel label>span{color:var(--identity-muted);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.04em;text-transform:uppercase}.projects-filter-panel input,.projects-filter-panel select{background:var(--identity-surface);border:1px solid var(--identity-line);border-radius:.25rem;color:var(--identity-ink);font:inherit;min-height:2.65rem;min-width:0;padding:.55rem .7rem}.projects-filter-panel input:focus,.projects-filter-panel select:focus{border-color:var(--identity-primary);box-shadow:0 0 0 3px rgb(var(--identity-primary-rgb) / .16);outline:none}.projects-result-count{color:var(--identity-muted);font-family:var(--font-mono);font-size:.7rem;margin-top:1rem;text-transform:uppercase}.projects-page-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.5rem}.projects-empty-state{border:1px solid var(--identity-line);margin:2rem auto 0;max-width:80rem;padding:2rem;text-align:center}.projects-empty-state p{color:var(--identity-muted);margin-bottom:1.25rem}.site-footer{background:var(--identity-bg);border-top:1px solid var(--identity-line);color:var(--identity-ink);padding:2.5rem clamp(1.25rem,5vw,3rem) max(1.25rem,env(safe-area-inset-bottom))}.site-footer-inner,.site-footer-bottom{align-items:start;display:flex;gap:2rem;justify-content:space-between}.site-footer-name{font-family:var(--font-display);font-size:1.35rem;font-weight:600;letter-spacing:-.035em}.site-footer-note,.site-footer-bottom{color:var(--identity-muted);font-family:var(--font-mono);font-size:.68rem}.site-footer-note{margin-top:.45rem}.site-footer-links{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;justify-content:flex-end}.site-footer-links a{align-items:center;color:var(--identity-muted);display:inline-flex;font-size:.78rem;gap:.35rem}.site-footer-links a:hover,.site-footer-bottom a:hover{color:var(--identity-primary)}.site-footer-bottom{border-top:1px solid var(--identity-line);margin-top:2.5rem;padding-top:1rem}section[id],[id$=-heading]{scroll-margin-top:7.25rem}.selected-work-intro,.about-section-header,.skills-directory-header,.projects-page-hero{align-items:start;grid-template-columns:1fr}.selected-work-intro{gap:.8rem}.selected-work-description,.projects-page-hero>.type-lead,.about-section-header .type-body,.skills-directory-header p{max-width:62ch}.project-card-description{max-width:48ch}.project-tech-list span+span:before{content:none;margin-right:0}.about-focus-list li:before{display:none}.home-about-statement h3{text-transform:none}.about-statement{font-family:var(--font-sans)}.skills-group-copy h3{color:var(--skills-text);font-family:var(--font-display);font-size:1.25rem;font-weight:650;letter-spacing:-.018em;line-height:1.25}.skills-tool{border-bottom:1px solid var(--skills-border);min-height:2.75rem}.skills-tool-dot{background:var(--skills-accent);border-radius:0;flex:0 0 .42rem;height:.42rem;margin-top:.42rem;width:.42rem}.mobile-scroll-top{display:none}@media(max-width:767px){.mobile-scroll-top{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--identity-bg);border:1px solid var(--identity-line);border-radius:50%;bottom:max(1.25rem,calc(env(safe-area-inset-bottom) + .75rem));color:var(--identity-ink);cursor:pointer;display:grid;height:3.5rem;justify-items:center;padding:0;position:fixed;right:max(1.5rem,calc(env(safe-area-inset-right) + .5rem));width:3.5rem;z-index:40}.mobile-scroll-top-ring{height:100%;top:0;right:0;bottom:0;left:0;overflow:visible;position:absolute;transform:rotate(-90deg);width:100%}.mobile-scroll-top-track,.mobile-scroll-top-progress{fill:none;stroke-linecap:round}.mobile-scroll-top-track{opacity:.8;stroke:var(--identity-line)}.mobile-scroll-top-progress{stroke:var(--identity-primary)}.mobile-scroll-top-icon{position:relative;z-index:1}.mobile-scroll-top:focus-visible{outline:2px solid var(--identity-primary);outline-offset:3px}.identity-nav-shell{left:0;right:0;top:.75rem;padding-left:calc(max(1rem,env(safe-area-inset-left)) + var(--identity-nav-rail-gap));padding-right:calc(max(1rem,env(safe-area-inset-right)) + var(--identity-nav-rail-gap));width:100%}.identity-nav{gap:.35rem;height:3.8rem;min-width:0;padding-left:.55rem}.identity-nav-brand,.identity-nav-links,.identity-nav-controls,.identity-nav-link,.identity-nav-control{min-width:0}.identity-nav-brand img{height:2.4rem;width:2.4rem}.identity-nav-links{flex:1 1 auto;gap:0;justify-content:center;margin-inline:.15rem}.identity-nav-controls{flex:0 0 auto}.identity-nav-link,.identity-nav-control{font-size:.62rem;min-height:2.3rem;padding-inline:.4rem}.identity-theme-control{padding-inline:.35rem}.hero-identity{padding-top:7rem}.hero-grid-shell,.selected-work-intro,.profile-section-grid,.home-about-section,.contact-section-grid,.about-intro-section,.about-focus-section,.currently-section,.about-connect-section,.projects-page-hero{grid-template-columns:1fr}.hero-grid-shell{gap:4rem;min-height:0}.hero-copy-block{padding-left:0;padding-right:0}.hero-heading{font-size:clamp(3.8rem,17vw,6.5rem);max-width:7ch}.hero-visual{justify-self:stretch}.hero-visual img{max-height:none}.site-footer-inner,.site-footer-bottom{align-items:flex-start;flex-direction:column}.selected-work-grid,.projects-page-grid{grid-template-columns:1fr}.selected-work-grid .project-card-featured{grid-row:auto}.selected-work-intro{gap:1.25rem}.home-about-main-grid{gap:1.25rem;grid-template-columns:1fr}.about-section-header{grid-template-columns:1fr}.about-timeline-item{padding-left:3.5rem}.about-timeline-card{padding:1rem}.about-statement{padding-top:1.25rem}.about-timeline-card-heading{gap:.9rem;grid-template-columns:1fr}.about-timeline-period{justify-self:start;text-align:left}.about-focus-section,.about-connect-section{gap:1.75rem}.about-focus-section .type-section-title,.about-connect-section .type-section-title{max-width:none}.profile-section-intro{position:static}.home-about-body{grid-template-columns:1fr}.home-about-copy .project-text-link{justify-content:flex-start}.home-about-statements{grid-template-columns:1fr;margin-top:3rem}.home-about-section{padding-block:4rem}.home-about-statement,.home-about-statement+.home-about-statement{border-left:0;padding-left:0;padding-right:0}.profile-list-heading,.project-card-footer{align-items:flex-start;flex-direction:column}.profile-list-period{order:-1;text-align:left}.project-tech-list{max-width:none}.project-card-links{width:100%}.project-image-slider-control{height:2.75rem;width:2.75rem}.project-image-slider-play,.project-image-slider-fullscreen{top:.6rem}.project-image-slider-previous{left:.6rem}.project-image-slider-next{right:.6rem}.project-image-slider-control{touch-action:manipulation}.contact-heading{max-width:none}.about-page-content,.projects-page{padding-top:6rem}.projects-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-filter-search{grid-column:1 / -1}.site-footer-links{justify-content:flex-start}.identity-section-frame>.max-w-6xl{padding-inline:var(--section-content-gap)}}@media(max-width:420px){.identity-nav-links{margin-inline:.1rem}.identity-nav-link,.identity-nav-control{font-size:.58rem;padding-inline:.3rem}.projects-filter-panel{grid-template-columns:1fr}.projects-filter-search{grid-column:auto}}@media(prefers-reduced-motion:reduce){.skip-link,.identity-nav-brand,.identity-nav-link,.identity-nav-control,.identity-language-option,.site-footer a,.project-text-link,.project-icon-link,.hero-social-links a,.project-card,.project-card-media img,.project-image-slider-control{transition:none}}.hover\:bg-background-soft:hover{--tw-bg-opacity: 1;background-color:oklch(99% 0 0 / var(--tw-bg-opacity, 1))}.hover\:bg-primary-700:hover{--tw-bg-opacity: 1;background-color:oklch(27% 0 0 / var(--tw-bg-opacity, 1))}.dark\:bg-primary:is(.dark *){--tw-bg-opacity: 1;background-color:oklch(15% 0 0 / var(--tw-bg-opacity, 1))}.dark\:bg-primary-700:is(.dark *){--tw-bg-opacity: 1;background-color:oklch(27% 0 0 / var(--tw-bg-opacity, 1))}.dark\:bg-primary-800:is(.dark *){--tw-bg-opacity: 1;background-color:oklch(21% 0 0 / var(--tw-bg-opacity, 1))}.dark\:text-fifth:is(.dark *){--tw-text-opacity: 1;color:oklch(96% 0 0 / var(--tw-text-opacity, 1))}.dark\:text-fourth:is(.dark *){--tw-text-opacity: 1;color:oklch(96% 0 0 / var(--tw-text-opacity, 1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:text-third:is(.dark *){--tw-text-opacity: 1;color:oklch(48% 0 0 / var(--tw-text-opacity, 1))}.dark\:hover\:bg-primary-600:hover:is(.dark *){--tw-bg-opacity: 1;background-color:oklch(35% 0 0 / var(--tw-bg-opacity, 1))}@media(min-width:640px){.sm\:flex-row{flex-direction:row}}@media(min-width:768px){.md\:mt-0{margin-top:0}.md\:grid-cols-\[0\.8fr_1\.2fr\]{grid-template-columns:.8fr 1.2fr}.md\:px-12{padding-left:3rem;padding-right:3rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:pt-20{padding-top:5rem}.md\:pt-40{padding-top:10rem}}
