@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-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-sm:24rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--radius-sm:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-editorial);--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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}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 components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.static{position:static}.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}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-20{min-height:calc(var(--spacing) * 20)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-px{gap:1px}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-14>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 14) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 14) * calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:2147483647px}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-border{border-color:var(--border)}.bg-accent{background-color:var(--accent)}.bg-background{background-color:var(--background)}.bg-border{background-color:var(--border)}.bg-transparent{background-color:#0000}.p-3{padding:calc(var(--spacing) * 3)}.p-6{padding:calc(var(--spacing) * 6)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pl-6{padding-left:calc(var(--spacing) * 6)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.03em\]{--tw-tracking:-.03em;letter-spacing:-.03em}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-accent{color:var(--accent)}.text-accent-foreground{color:var(--accent-foreground)}.text-foreground{color:var(--foreground)}.text-foreground-muted{color:var(--foreground-muted)}.uppercase{text-transform:uppercase}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:border-accent:hover{border-color:var(--accent)}.hover\:bg-accent-hover:hover{background-color:var(--accent-hover)}.hover\:text-accent:hover{color:var(--accent)}}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-4:focus-visible{outline-offset:4px}.focus-visible\:outline-accent:focus-visible{outline-color:var(--accent)}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-baseline{align-items:baseline}.sm\:justify-between{justify-content:space-between}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:py-24{padding-block:calc(var(--spacing) * 24)}.sm\:pl-8{padding-left:calc(var(--spacing) * 8)}.sm\:pl-10{padding-left:calc(var(--spacing) * 10)}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1fr\)_12rem\]{grid-template-columns:minmax(0,1fr) 12rem}.lg\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.lg\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.lg\:px-10{padding-inline:calc(var(--spacing) * 10)}.lg\:pt-0{padding-top:0}.lg\:pl-6{padding-left:calc(var(--spacing) * 6)}}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f7f7f5;--surface:#fff;--foreground:#171717;--foreground-muted:#737373;--accent:#334e68;--accent-hover:#273d52;--accent-foreground:#f7f7f5;--border:#e5e5e5;--ring:#334e68;--font-editorial:Inter, "Avenir Next", Avenir, "Segoe UI", Arial, sans-serif}*,:before,:after{box-sizing:border-box}html{background:var(--background);scroll-behavior:smooth;scroll-padding-top:6rem}body{background:var(--background);min-height:100vh;color:var(--foreground);font-family:var(--font-editorial);font-feature-settings:"ss01" on;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;position:relative}main,header,footer{z-index:1;position:relative}a,button{-webkit-tap-highlight-color:transparent}a{text-decoration:none}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--ring);outline-offset:4px}.visual-background{--pointer-x:50vw;--pointer-y:35vh;--parallax-x:0px;--parallax-y:0px;z-index:0;background:var(--background);pointer-events:none;position:fixed;inset:0;overflow:hidden}.visual-background-image{filter:saturate(.58)contrast(.92);opacity:0;transform:translate3d(var(--parallax-x), var(--parallax-y), 0) scale(1.04);background-position:50%;background-size:cover;transition:opacity .85s cubic-bezier(.22,1,.36,1),transform 1.2s cubic-bezier(.22,1,.36,1);position:absolute;inset:-2%}.visual-background-image-active{z-index:1;opacity:.18}.visual-background-image-previous{z-index:0;opacity:0}.visual-background-image-secondary{opacity:0;transform:translate3d(calc(var(--parallax-x) * -.5), calc(var(--parallax-y) * -.5), 0) scale(1.08)}.visual-background-image-active.visual-background-image-secondary{z-index:2;opacity:.08}.visual-background-overlay{z-index:3;background:linear-gradient(100deg,#f7f7f5f0,#f7f7f5e3 55%,#f7f7f5f5);position:absolute;inset:0}.visual-background-spotlight{z-index:4;background:radial-gradient(circle 21rem at var(--pointer-x) var(--pointer-y), #334e6814, transparent 74%);opacity:.7;transition:opacity .3s;position:absolute;inset:0}.visual-background-contact .visual-background-spotlight{background:radial-gradient(circle 24rem at var(--pointer-x) var(--pointer-y), #334e681a, transparent 74%);opacity:.8}.hero-section{align-items:center;min-height:min(52rem,100svh - 5rem);display:flex}.hero-layout{grid-template-columns:minmax(0,1.45fr) minmax(16rem,.72fr);align-items:center;gap:clamp(3rem,9vw,9rem);padding-block:clamp(5rem,10vw,8.5rem);display:grid}.hero-copy{max-width:52rem;animation:.65s cubic-bezier(.22,1,.36,1) both editorial-arrive}.hero-title{max-width:12ch;color:var(--foreground);letter-spacing:-.075em;text-wrap:balance;margin-top:1.5rem;font-size:clamp(3.2rem,7.6vw,7rem);font-weight:600;line-height:.98}.hero-introduction{max-width:43rem;color:var(--foreground-muted);margin-top:2rem;font-size:clamp(1.1rem,1.65vw,1.35rem);line-height:1.72}.hero-interests{max-width:39rem;color:var(--foreground-muted);margin-top:1.15rem;font-size:.95rem;line-height:1.75}.hero-actions{flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:2.25rem;display:flex}.hero-aside{border-top:1px solid var(--foreground);border-bottom:1px solid var(--border);max-width:25rem;padding-block:1.1rem 1.4rem;animation:.75s cubic-bezier(.22,1,.36,1) .1s both editorial-arrive;position:relative}.hero-aside-topline,.project-card-topline{align-items:center;gap:.75rem;display:flex}.hero-aside-topline{color:var(--foreground-muted);letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;font-size:.7rem;font-weight:600}.hero-aside-title{letter-spacing:-.045em;max-width:15ch;margin-top:2.6rem;font-size:clamp(1.6rem,2.2vw,2.1rem);font-weight:500;line-height:1.25}.hero-disciplines{color:var(--foreground-muted);gap:.75rem;margin-top:2.2rem;font-size:.88rem;display:grid}.hero-disciplines li{align-items:center;gap:.7rem;display:flex}.hero-disciplines li:before{background:var(--accent);content:"";border-radius:50%;width:.35rem;height:.35rem}.hero-credentials{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;padding-top:1.2rem;font-size:.78rem;font-weight:600;display:flex}.availability-strip{background:#ffffff6b}.availability-layout{color:var(--foreground-muted);grid-template-columns:1.2fr .8fr .8fr;gap:1.5rem;padding-block:1.2rem;font-size:.8rem;display:grid}.availability-status{color:var(--foreground);font-weight:600}.availability-status span{background:var(--accent);vertical-align:.05em;border-radius:50%;width:.45rem;height:.45rem;margin-right:.65rem;display:inline-block}.section-space{padding-block:clamp(5rem,10vw,8.5rem)}.eyebrow{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;font-size:.7rem;font-weight:650;line-height:1.5}.section-heading-row{justify-content:space-between;align-items:end;gap:2rem;display:flex}.section-heading-link{flex:none;margin-bottom:.4rem}.inline-link{color:var(--accent);align-items:center;gap:.5rem;font-size:.83rem;font-weight:600;display:inline-flex;position:relative}.inline-link:after{content:"";transform-origin:0;background:currentColor;height:1px;transition:transform .24s cubic-bezier(.22,1,.36,1);position:absolute;bottom:-.25rem;left:0;right:0;transform:scaleX(0)}.inline-link:hover:after,.inline-link:focus-visible:after{transform:scaleX(1)}.inline-link>span,.project-repository-link>span{transition:transform .22s cubic-bezier(.22,1,.36,1);display:inline-block}.inline-link:hover>span,.project-repository-link:hover>span{transform:translate(.15rem,-.08rem)}.button{border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;gap:.7rem;min-height:2.9rem;padding:.7rem 1rem;font-size:.82rem;font-weight:600;transition:color .18s,background-color .18s,border-color .18s,transform .28s cubic-bezier(.22,1,.36,1);display:inline-flex}.button-primary{background:var(--accent);color:var(--accent-foreground)}.button-primary:hover{background:var(--accent-hover)}.button-secondary{color:var(--foreground);border-color:#cfcfcb}.button-secondary:hover{border-color:var(--accent);color:var(--accent)}.button-text{color:var(--foreground-muted)}.button-text:hover{color:var(--accent)}.magnetic-link{transform:translate3d(var(--magnetic-x,0), var(--magnetic-y,0), 0);transition:transform .3s cubic-bezier(.22,1,.36,1);display:inline-flex}.editorial-band{background:#ffffff5c}.editorial-band-layout{grid-template-columns:minmax(0,.9fr) minmax(22rem,1.1fr);gap:clamp(3rem,10vw,9rem);padding-block:clamp(4.5rem,9vw,7.5rem);display:grid}.experience-preview-list{align-self:center}.experience-preview-item{border-top:1px solid var(--border);grid-template-columns:3.8rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding-block:1.25rem;display:grid}.experience-preview-item:last-of-type{border-bottom:1px solid var(--border)}.experience-preview-date{color:var(--foreground-muted);font-variant-numeric:tabular-nums;font-size:.76rem}.experience-preview-item h3{font-size:.94rem;font-weight:600}.experience-preview-item p{color:var(--foreground-muted);margin-top:.3rem;font-size:.8rem}.experience-preview-arrow{color:var(--accent);font-size:.9rem}.achievement-preview-grid{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.achievement-preview-item{gap:1.1rem;padding:1.6rem 1.25rem 1.6rem 0;display:flex}.achievement-preview-item+.achievement-preview-item{border-left:1px solid var(--border);padding-left:1.25rem}.achievement-index,.project-index{color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.08em;font-size:.68rem;font-weight:600}.achievement-preview-item p{color:var(--foreground-muted);font-size:.75rem}.achievement-preview-item h3{margin-top:.55rem;font-size:.98rem;font-weight:600;line-height:1.45}.home-contact{background:#ffffff6b}.home-contact-layout{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2.5rem;padding-block:clamp(4.5rem,9vw,7.5rem);display:grid}.home-contact-actions{justify-items:start;gap:1.4rem;display:grid}.project-card{border:1px solid var(--border);background:#ffffffa3;flex-direction:column;min-height:22rem;padding:clamp(1.25rem,2.2vw,1.75rem);display:flex}.project-card-topline{min-height:1.8rem}.project-card-topline .eyebrow{flex:1}.project-card h2{color:var(--foreground);letter-spacing:-.045em;margin-top:1.6rem;font-size:1.45rem;font-weight:600;line-height:1.25}.project-card>p{color:var(--foreground-muted);margin-top:1rem;font-size:.88rem;line-height:1.75}.project-card ul{flex-wrap:wrap;gap:.45rem;margin-top:1.25rem;display:flex}.status-label,.technology-tag,.filter-button{border:1px solid var(--border);align-items:center;min-height:1.65rem;padding:.15rem .5rem;font-size:.67rem;line-height:1.3;display:inline-flex}.status-label{color:var(--accent);flex:none;font-weight:600}.technology-tag{color:var(--foreground-muted)}.project-card-actions{flex-wrap:wrap;align-items:center;gap:1.25rem;margin-top:auto;padding-top:1.7rem;display:flex}.project-repository-link{color:var(--foreground-muted);align-items:center;gap:.4rem;font-size:.78rem;font-weight:550;display:inline-flex}.project-card-interactive{transition:border-color .26s,background-color .26s,box-shadow .3s,transform .3s cubic-bezier(.22,1,.36,1)}.project-card-interactive:hover,.project-card-interactive:focus-within{background:var(--surface);border-color:#bac4ce;transform:translateY(-.2rem);box-shadow:0 1.2rem 2.6rem #1717170d}.filter-button{cursor:pointer;color:var(--foreground-muted);background:0 0;transition:border-color .16s,color .16s,background-color .16s}.filter-button:hover,.filter-button-active{border-color:var(--accent);color:var(--accent)}.filter-button-active{background:var(--accent);color:var(--accent-foreground)}.filter-button:focus-visible,.button:focus-visible,.menu-button:focus-visible{outline:2px solid var(--ring);outline-offset:4px}.education-card,.achievement-entry{border:1px solid var(--border);background:#ffffff85;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s,border-color .22s}.education-card:hover,.achievement-entry:hover{border-color:#c5cdd4;transform:translateY(-.16rem);box-shadow:0 1rem 2.5rem #1717170d}.education-card{padding:1.6rem}.about-approach-layout{grid-template-columns:.7fr 1.3fr;gap:clamp(2rem,8vw,7rem);display:grid}.experience-card{border:1px solid var(--border);background:#ffffff75;padding:clamp(1.25rem,3vw,2rem);transition:border-color .26s,background-color .26s,transform .26s}.experience-card:hover{background:#ffffffb8;border-color:#c5cdd4;transform:translateY(-.15rem)}.timeline-dot{border:2px solid var(--background);background:var(--accent);width:.6rem;height:.6rem;box-shadow:0 0 0 1px var(--accent);border-radius:50%;position:absolute;top:2.1rem;left:-2rem}.achievement-entry{border-left:2px solid var(--border);padding:1.5rem}.achievement-entry-featured{border-left-color:var(--accent)}.certificate-card{border:1px solid var(--border);background:#ffffffb8;padding:1.25rem;transition:border-color .26s,box-shadow .26s,transform .26s}.certificate-card:hover,.certificate-card:focus-within{border-color:#b9c4ce;transform:translateY(-.18rem);box-shadow:0 1.1rem 2.5rem #1717170f}.certificate-preview{border:1px solid var(--border);background:linear-gradient(135deg,#334e6814,#fff6);place-content:center;gap:.7rem;min-height:8rem;transition:transform .3s cubic-bezier(.22,1,.36,1);display:grid}.certificate-card:hover .certificate-preview,.certificate-card:focus-within .certificate-preview{transform:translateY(-.1rem)}.certificate-preview-mark{color:var(--accent);letter-spacing:.18em;text-align:center;font-size:.72rem;font-weight:700}.certificate-preview-line{background:var(--border);width:7rem;height:.2rem;display:block}.certificate-preview-line-short{justify-self:center;width:4.5rem}.case-study-section{border-top:1px solid var(--border);padding-top:1.5rem;position:relative}.case-study-index{color:var(--accent);letter-spacing:.12em;margin-bottom:1rem;font-size:.68rem;font-weight:600}.contact-section{isolation:isolate;position:relative}.contact-channel{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2rem;padding-block:2rem;display:grid}.contact-channel-actions{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.desktop-navigation{align-items:center;gap:clamp(.85rem,1.5vw,1.4rem);display:flex}.nav-link{color:var(--foreground-muted);font-size:.79rem;font-weight:500;transition:color .15s}.nav-link:hover,.nav-link-active{color:var(--accent)}.language-link{border-left:1px solid var(--border);margin-left:.35rem;padding-left:1rem}.nav-cv-link{border:1px solid var(--accent);min-height:2.35rem;color:var(--accent);align-items:center;padding:.4rem .65rem;font-size:.74rem;font-weight:600;transition:color .15s,background-color .15s;display:inline-flex}.nav-cv-link:hover{background:var(--accent);color:var(--accent-foreground)}.mobile-menu-control{align-items:center;gap:1.1rem;display:none}.menu-button{border:1px solid var(--border);width:2.6rem;height:2.6rem;color:var(--foreground);cursor:pointer;background:0 0;place-items:center;display:grid}.menu-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.5px;width:1.25rem}.mobile-navigation{z-index:10;border:1px solid var(--border);background:var(--surface);gap:1rem;padding:1.25rem;animation:.16s ease-out both menu-arrive;display:grid;position:absolute;top:calc(100% + .35rem);left:1.25rem;right:1.25rem;box-shadow:0 1rem 2rem #17171717}.mobile-nav-link{color:var(--foreground-muted);font-size:.92rem;font-weight:500}.mobile-nav-link:hover,.mobile-nav-link.nav-link-active{color:var(--accent)}.mobile-cv-link{border-top:1px solid var(--border);padding-top:1rem}.footer-layout{grid-template-columns:minmax(0,1.4fr) minmax(15rem,1fr);gap:3rem;padding-block:3.5rem;display:grid}.footer-navigation{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem 1rem;display:grid}.footer-copyright{border-top:1px solid var(--border);color:var(--foreground-muted);padding-block:1.2rem;font-size:.72rem}@keyframes editorial-arrive{0%{opacity:0;transform:translateY(.65rem)}to{opacity:1;transform:translateY(0)}}@keyframes menu-arrive{0%{opacity:0;transform:translateY(-.25rem)}to{opacity:1;transform:translateY(0)}}@media (max-width:1023px){.desktop-navigation{display:none}.mobile-menu-control{display:flex}.hero-layout{grid-template-columns:minmax(0,1fr) minmax(15rem,.68fr);gap:3rem}.hero-title{font-size:clamp(3.2rem,8.8vw,5.8rem)}}@media (max-width:767px){.hero-section{min-height:auto}.hero-layout{grid-template-columns:minmax(0,1fr);gap:3.75rem;padding-block:5rem}.hero-title{max-width:11ch;font-size:clamp(3.15rem,13vw,5rem)}.hero-aside{width:100%;max-width:none}.availability-layout{grid-template-columns:minmax(0,1fr);gap:.6rem;padding-block:1.1rem}.section-heading-row{flex-direction:column;align-items:start;gap:1.2rem}.section-heading-link{margin:0}.editorial-band-layout,.about-approach-layout{grid-template-columns:minmax(0,1fr);gap:2rem}.achievement-preview-grid{grid-template-columns:minmax(0,1fr)}.achievement-preview-item{padding:1.1rem 0}.achievement-preview-item+.achievement-preview-item{border-top:1px solid var(--border);border-left:0;padding-left:0}.home-contact-layout{grid-template-columns:minmax(0,1fr);align-items:start}.home-contact-actions{flex-wrap:wrap;align-items:center;display:flex}.contact-channel{grid-template-columns:minmax(0,1fr);align-items:start}.contact-channel-actions{align-items:start}.footer-layout{grid-template-columns:minmax(0,1fr);gap:2rem}.footer-navigation{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:479px){.hero-layout{padding-block:4rem}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions>*,.hero-actions .button{width:100%}.hero-actions .magnetic-link{display:flex}.project-card{min-height:0}.experience-preview-item{grid-template-columns:2.7rem minmax(0,1fr) auto;gap:.7rem}.mobile-menu-control{gap:.8rem}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.visual-background-spotlight{opacity:.7}}@media (hover:none),(pointer:coarse){.visual-background-spotlight{display:none}.visual-background-image{transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.visual-background-image{transform:none}.magnetic-link{transform:none!important}}@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}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
