/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */
@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;--tw-font-weight:initial;--tw-tracking:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--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;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--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);--color-surface:#0d0f14;--color-border-subtle:#1f2430;--color-text:#f8fafc;--color-text-muted:#a1a8b8;--color-text-subtle:#6b7288;--color-accent-strong:#fff;--color-highlight:#7c86ff;--liquid-glass-border-hover:#bae6fd73;--liquid-glass-glow:0 12px 28px #bae6fd38, 0 0 20px #ffffff24, 0 0 0 1px #ffffff1a;--liquid-glass-glow-strong:0 14px 32px #bae6fd47, 0 0 24px #ffffff2e, 0 0 0 1px #ffffff1f;--color-surface-translucent:#1518218c}}@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]){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;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}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background-color:var(--color-surface)}body{font-family:var(--font-sans);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;isolation:isolate;background-color:var(--color-surface);min-height:100vh;position:relative}.starfield-canvas{z-index:-3;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}body:before{content:"";z-index:-2;pointer-events:none;background-image:url(/bg-grid.png);background-position:0 -9px;background-size:100px 100px;position:fixed;inset:0;mask-image:linear-gradient(#fff,#ffffff26 55%,#0000)}body:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(83.21deg,#3245ff 0%,#bc52ee 100%);width:100vw;height:55vw;position:fixed;top:42%;left:-55vw;transform:translateY(-30%);mask-image:radial-gradient(#0000006b,#0000 68%)}a{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));--tw-duration:.2s;transition-duration:.2s}::selection{color:#fff;background:#7c86ff59}}@layer components;@layer utilities{.\@container{container-type:inline-size}.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}.static{position:static}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-auto{margin-right:auto}.\!grid{display:grid!important}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.min-h-screen{min-height:100vh}.w-6{width:calc(var(--spacing) * 6)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}: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-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)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-y-1{row-gap:var(--spacing)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-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-\[var\(--color-border-subtle\)\]{border-color:var(--color-border-subtle)}.fill-current{fill:currentColor}.fill-none{fill:none}.stroke-current{stroke:currentColor}.stroke-\[1\.75\]{stroke-width:1.75px}.object-contain{object-fit:contain}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pb-7{padding-bottom:calc(var(--spacing) * 7)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--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))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.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-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-\[var\(--color-highlight\)\]{color:var(--color-highlight)}.text-\[var\(--color-text-muted\)\]{color:var(--color-text-muted)}.text-\[var\(--color-text-subtle\)\]{color:var(--color-text-subtle)}.text-inherit{color:inherit}.lowercase{text-transform:lowercase}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,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))}.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))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.empty\:hidden:empty{display:none}@media (hover:hover){.hover\:text-\[var\(--color-text\)\]:hover{color:var(--color-text)}.hover\:text-\[var\(--color-text-muted\)\]:hover{color:var(--color-text-muted)}.hover\:text-white:hover{color:var(--color-white)}}@media (width>=48rem){.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:items-start{align-items:flex-start}.md\:justify-between{justify-content:space-between}.md\:p-6{padding:calc(var(--spacing) * 6)}.md\:p-7{padding:calc(var(--spacing) * 7)}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:pt-10{padding-top:calc(var(--spacing) * 10)}.md\:pb-10{padding-bottom:calc(var(--spacing) * 10)}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (width>=64rem){.lg\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.lg\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}}.section-shell{width:100%;max-width:var(--container-7xl);padding-inline:calc(var(--spacing) * 5);margin-inline:auto}@media (width>=48rem){.section-shell{padding-inline:calc(var(--spacing) * 8)}}@media (width>=64rem){.section-shell{padding-inline:calc(var(--spacing) * 10)}}.section-padding{padding-block:calc(var(--spacing) * 7)}@media (width>=48rem){.section-padding{padding-block:calc(var(--spacing) * 10)}}.project-detail-main{padding-bottom:calc(var(--spacing) * 6)}@media (width>=48rem){.project-detail-main{padding-bottom:calc(var(--spacing) * 10)}}.project-detail-main{padding-top:.5rem}[data-reveal],[data-project-reveal]{opacity:0;transform:none}[data-reveal].is-revealed,[data-project-reveal].is-revealed{animation:.8s ease-in-out forwards reveal-card-fade;animation-delay:var(--reveal-delay,0s)}[data-reveal-stagger-item]{opacity:0}[data-reveal-stagger-item].is-revealed{animation:.8s ease-in-out forwards reveal-card-fade}@media (width>=768px){.project-detail-main{padding-top:.625rem}}.eyebrow{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-tracking:.24em;letter-spacing:.24em;color:var(--color-text-subtle);text-transform:uppercase}.section-header{z-index:1;margin-bottom:calc(var(--spacing) * 2.5);width:100%;position:relative}@media (width>=48rem){.section-header{margin-bottom:calc(var(--spacing) * 3)}}.section-header:before{content:"";background:linear-gradient(90deg,#67e8f9,#fcd34d);border-radius:9999px;width:3.5rem;height:4px;margin-bottom:.5rem;display:block}.section-title{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height));--tw-leading:1.08;--tw-font-weight:var(--font-weight-bold);line-height:1.08;font-weight:var(--font-weight-bold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}@media (width>=48rem){.section-title{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}@media (width>=64rem){.section-title{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}.section-title{-webkit-text-fill-color:transparent;color:#0000;background:linear-gradient(135deg,#fafafa 0%,#e0f2fe 45%,#bae6fd 100%);background-clip:text}.section-description{margin-top:calc(var(--spacing) * 1.5)}:where(.section-description>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}.section-description{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);color:var(--color-text-muted)}@media (width>=48rem){.section-description{margin-top:calc(var(--spacing) * 2);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}.lazy-section{contain-intrinsic-size:auto 28rem}.lazy-section__body{min-height:10rem}.lazy-section__skeleton{border:1px solid var(--color-border-subtle);background:linear-gradient(90deg,#151821b8 0%,#202434e0 50%,#151821b8 100%) 0 0/200% 100%;border-radius:1rem;min-height:10rem;animation:1.6s ease-in-out infinite lazy-skeleton-shimmer}.lazy-section.is-loaded .lazy-section__body>:first-child{animation:none}.experience-timeline{position:relative}.experience-timeline:before{content:"";background:linear-gradient(#67e8f926,#67e8f98c 20%,#fcd34d8c 80%,#fcd34d26);width:2px;position:absolute;top:.35rem;bottom:.35rem;left:7.5rem;transform:translate(-50%)}.experience-timeline__item{grid-template-columns:5.5rem 1.5rem minmax(0,1fr);column-gap:1.25rem;padding-bottom:1.5rem;display:grid}.experience-timeline__item:last-child{padding-bottom:0}.experience-timeline__dates{text-align:right;flex-direction:column;justify-content:space-between;align-self:stretch;gap:1.25rem;min-height:100%;padding-top:.1rem;display:flex}.experience-timeline__date-block{flex-direction:column;gap:.1rem;display:flex}.experience-timeline__month{color:#7dd3fc;font-size:.875rem;font-weight:600;line-height:1.2}.experience-timeline__year{color:var(--color-text-subtle);font-size:.8125rem;font-weight:500;line-height:1.2}.experience-timeline__present{letter-spacing:.08em;text-transform:uppercase;color:#fcd34d;justify-content:flex-end;align-items:flex-start;min-height:2.15rem;font-size:.8125rem;font-weight:600;display:flex}.experience-timeline__rail{flex-direction:column;align-self:stretch;align-items:center;min-height:100%;padding-top:.1rem;display:flex}.experience-timeline__marker{z-index:1;background:var(--color-surface);border:2px solid #67e8f9;border-radius:9999px;width:.75rem;height:.75rem;position:relative;box-shadow:0 0 0 4px #67e8f91f}.experience-timeline__marker--end{margin-top:.35rem}.experience-timeline__marker--present{border-color:#fcd34d;box-shadow:0 0 0 4px #fcd34d1f}.experience-timeline__content{min-width:0;padding-top:.05rem}.experience-timeline__item.is-blurred .experience-timeline__blurred{filter:blur(8px);user-select:none;pointer-events:none}.experience-timeline__heading-link{width:fit-content;max-width:100%;color:inherit;border-radius:.5rem;outline:none;text-decoration:none;transition:transform .22s cubic-bezier(.22,1,.36,1);display:block}.experience-timeline__heading-link:hover,.experience-timeline__heading-link:focus-visible{transform:translate(.2rem)}.experience-timeline__company{color:var(--color-text);align-items:center;gap:.75rem;margin:0;font-size:1.25rem;font-weight:600;line-height:1.3;transition:color .22s;display:flex}.experience-timeline__company-name{transition:color .22s}.experience-timeline__icon{object-fit:contain;background:#ffffff0a;border-radius:.375rem;flex-shrink:0;width:2rem;height:2rem;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s,background-color .22s}.experience-timeline__title{color:#bae6fd;margin-top:.35rem;font-size:1rem;font-weight:500;transition:color .22s;display:block}.experience-timeline__heading-link:hover .experience-timeline__company-name,.experience-timeline__heading-link:focus-visible .experience-timeline__company-name{color:#bae6fd}.experience-timeline__heading-link:hover .experience-timeline__title,.experience-timeline__heading-link:focus-visible .experience-timeline__title{color:#7dd3fc}.experience-timeline__heading-link:hover .experience-timeline__icon,.experience-timeline__heading-link:focus-visible .experience-timeline__icon{background:#ffffff14;transform:scale(1.08);box-shadow:0 0 0 1px #bae6fd59}.experience-timeline__heading-link:focus-visible{box-shadow:0 0 0 2px #7dd3fc73}.experience-timeline__description{color:var(--color-text-muted);white-space:pre-line;margin-top:.85rem;font-size:1rem;line-height:1.7}.experience-timeline__sections{flex-direction:column;gap:1rem;display:flex}.experience-timeline__section .experience-timeline__description{margin-top:.85rem}.experience-timeline__section+.experience-timeline__section .experience-timeline__description{margin-top:0}.experience-timeline__highlights{color:var(--color-text-muted);flex-direction:column;gap:.5rem;margin-top:1rem;font-size:.9375rem;display:flex}.experience-timeline__highlights li{gap:.75rem;display:flex}.experience-timeline__highlights li:before{content:"";background:#67e8f9;border-radius:9999px;flex-shrink:0;width:.375rem;height:.375rem;margin-top:.55rem}.experience-timeline__related{flex-direction:column;gap:.55rem;margin-top:1rem;display:flex}.experience-timeline__related-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-subtle);margin:0;font-size:.75rem;font-weight:600}.experience-timeline__project{border:1px solid var(--color-border-subtle);background:var(--color-surface-translucent);color:inherit;cursor:pointer;border-radius:.9rem;align-items:center;gap:.85rem;padding:.7rem .85rem;text-decoration:none;transition:border-color .22s,background .22s,box-shadow .22s,transform .22s cubic-bezier(.22,1,.36,1);display:flex}.experience-timeline__project:hover,.experience-timeline__project:focus-visible{background:linear-gradient(135deg,#1e223af5 0%,#281c34f5 100%);border-color:#bc52eecc;transform:translateY(-2px);box-shadow:0 14px 30px #3245ff61,0 0 0 1px #ffffff1f}.experience-timeline__project-cover{object-fit:cover;background:#ffffff0a;border-radius:.45rem;flex-shrink:0;width:4.5rem;height:2.55rem}.experience-timeline__project-title{color:var(--color-text);font-size:.9rem;font-weight:600;line-height:1.4}@media (width<=640px){.experience-timeline:before{left:5.475rem}.experience-timeline__item{grid-template-columns:4rem 1.25rem minmax(0,1fr);column-gap:.85rem}.experience-timeline__month{font-size:.8125rem}.experience-timeline__year,.experience-timeline__present{font-size:.75rem}.experience-timeline__company{font-size:1.125rem}}.surface-card{border:1px solid var(--color-border-subtle);background:var(--color-surface-translucent);border-radius:1rem}.education-card-link{color:inherit;text-decoration:none;transition:transform .22s cubic-bezier(.22,1,.36,1),border-color .22s,background .22s,box-shadow .22s;display:block}.education-card-link:hover,.education-card-link:focus-visible{background:linear-gradient(135deg,#1e223af5 0%,#281c34f5 100%);border-color:#bc52eecc;transform:translateY(-6px);box-shadow:0 14px 30px #3245ff61,0 0 0 1px #ffffff1f}.education-card-link:hover .education-card-institution,.education-card-link:focus-visible .education-card-institution{color:#fff}.education-card-icon-wrap{border:1px solid var(--color-border-subtle);background:#ffffff0a;border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex;overflow:hidden}.education-card-icon{object-fit:contain;width:100%;height:100%}.awards-slider{z-index:2;overflow-clip-margin:2.5rem;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#67e8f973 transparent;padding-top:.35rem;padding-bottom:.15rem;position:relative;overflow-x:auto}.awards-slider::-webkit-scrollbar{height:.45rem}.awards-slider::-webkit-scrollbar-thumb{background:#67e8f973;border-radius:9999px}.awards-slider__track{align-items:stretch;gap:1rem;padding:.85rem 0 2rem;display:flex}.award-card{flex-direction:column;flex:0 0 min(18rem,78vw);align-self:stretch;display:flex}.award-card-link{color:inherit;text-decoration:none;transition:transform .22s cubic-bezier(.22,1,.36,1),border-color .22s,background .22s,box-shadow .22s}.award-card-link:hover,.award-card-link:focus-visible{z-index:1;background:linear-gradient(135deg,#1e223af5 0%,#281c34f5 100%);border-color:#bc52eecc;position:relative;transform:translateY(-6px);box-shadow:0 14px 30px #3245ff61,0 0 0 1px #ffffff1f}.award-card-link:hover .award-card-title,.award-card-link:focus-visible .award-card-title{color:#fff}.award-card-icon-wrap{border:1px solid var(--color-border-subtle);background:#ffffff0a;border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex;overflow:hidden}.award-card-icon{object-fit:contain;width:100%;height:100%}.award-card-title{transition:color .22s}.projects-filters{z-index:3;flex-direction:column;gap:.65rem;padding-top:0;display:flex;position:relative}.projects-filters__group{flex-direction:column;gap:.3rem;min-width:0;display:flex}.projects-filters__label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-subtle);margin:0;padding-inline:.25rem;font-size:.75rem;font-weight:600}.projects-filters__row{flex-wrap:wrap;gap:.55rem .5rem;width:100%;padding:.35rem .2rem .55rem;display:flex}.projects-filter-pill{border:1px solid var(--color-border-subtle);background:var(--color-surface-translucent);color:var(--color-text-muted);white-space:nowrap;cursor:pointer;transform-origin:50%;border-radius:9999px;flex:none;align-items:center;gap:.375rem;padding:.4rem .875rem;font-size:.8125rem;font-weight:500;line-height:1.2;transition:color .2s,border-color .2s,background .2s,box-shadow .2s,transform .22s cubic-bezier(.22,1,.36,1);display:inline-flex;transform:translateY(0)scale(1)}.projects-filter-pill__icon{object-fit:contain;flex-shrink:0;width:.875rem;height:.875rem;transition:transform .22s cubic-bezier(.22,1,.36,1);display:block}.projects-filter-pill__icon--all{color:currentColor;opacity:.82}.projects-filter-pill__icon-fallback{width:.875rem;height:.875rem;color:var(--color-text);background:#ffffff14;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.5rem;font-weight:700;line-height:1;transition:transform .22s cubic-bezier(.22,1,.36,1);display:inline-flex}.projects-filter-pill:hover,.projects-filter-pill:focus-visible{z-index:1;color:var(--color-text);background:linear-gradient(135deg,#1e223af5 0%,#281c34f5 100%);border-color:#bc52eeb3;transform:translateY(-3px)scale(1.08);box-shadow:0 10px 22px -6px #3245ff6b,0 0 0 1px #ffffff1a}.projects-filter-pill:hover .projects-filter-pill__icon,.projects-filter-pill:focus-visible .projects-filter-pill__icon,.projects-filter-pill:hover .projects-filter-pill__icon-fallback,.projects-filter-pill:focus-visible .projects-filter-pill__icon-fallback{transform:scale(1.12)}.projects-filter-pill.is-active{color:var(--color-text);background:linear-gradient(135deg,#3245ff38 0%,#bc52ee2e 100%);border-color:#bc52eed9;box-shadow:0 0 0 1px #ffffff14}.projects-filter-pill.is-active:hover,.projects-filter-pill.is-active:focus-visible{background:linear-gradient(135deg,#3245ff52 0%,#bc52ee42 100%);border-color:#bc52eef2;transform:translateY(-3px)scale(1.08);box-shadow:0 12px 24px -6px #3245ff80,0 0 0 1px #ffffff1f}.projects-empty{color:var(--color-text-muted);opacity:0;margin:1rem 0 0;font-size:.9375rem;transition:opacity .42s cubic-bezier(.4,0,.2,1),transform .48s cubic-bezier(.22,1,.36,1);transform:translateY(.25rem)}.projects-empty.is-visible{opacity:1;transform:translateY(0)}.projects-slider{z-index:2;overflow-clip-margin:2.5rem;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#67e8f973 transparent;padding-top:.35rem;padding-bottom:.15rem;position:relative;overflow-x:auto}.projects-slider::-webkit-scrollbar{height:.45rem}.projects-slider::-webkit-scrollbar-thumb{background:#67e8f973;border-radius:9999px}.projects-slider__track{align-items:stretch;gap:1rem;padding:.85rem 0 2rem;display:flex}.project-card{flex-direction:column;flex:0 0 min(18rem,78vw);align-self:stretch;padding:0;display:flex;overflow:hidden}.project-card-link{color:inherit;transform-origin:50%;text-decoration:none;transition:border-color .22s,background .22s,box-shadow .22s,transform .22s cubic-bezier(.22,1,.36,1)}.project-card-link.is-filtering-out{pointer-events:none;-webkit-backdrop-filter:none;clip-path:inset(0%);transition:clip-path var(--filter-wipe-duration,.48s) cubic-bezier(.65, 0, .35, 1) var(--filter-out-stagger,0s), width .22s cubic-bezier(.65, 0, .35, 1), min-width .22s cubic-bezier(.65, 0, .35, 1), max-width .22s cubic-bezier(.65, 0, .35, 1), flex-basis .22s cubic-bezier(.65, 0, .35, 1), margin .22s cubic-bezier(.65, 0, .35, 1), padding .22s cubic-bezier(.65, 0, .35, 1), border-width .22s ease;flex-shrink:0;align-self:flex-start;overflow:hidden}.project-card-link.is-filtering-out.is-wiping,.project-card-link.is-filtering-out.is-filtering-collapse{clip-path:inset(0% 50%)}.project-card-link.is-filtering-in{opacity:0;pointer-events:none;transition:opacity .48s cubic-bezier(.33,1,.68,1),transform .48s cubic-bezier(.22,1,.36,1);transition-delay:var(--filter-stagger,0s);transform:scale(.97)translateY(.4rem)}.project-card-link.is-filtering-in.is-filtering-visible{opacity:1;pointer-events:auto;transform:none}.project-card-link.is-filtered-out{display:none}.project-card-link:hover,.project-card-link:focus-visible{z-index:1;background:linear-gradient(135deg,#1e223af5 0%,#281c34f5 100%);border-color:#bc52eecc;position:relative;transform:translateY(-6px);box-shadow:0 14px 30px #3245ff61,0 0 0 1px #ffffff1f}.project-card-link.is-filtering-out:hover,.project-card-link.is-filtering-out:focus-visible,.project-card-link.is-filtering-in:hover,.project-card-link.is-filtering-in:focus-visible{border-color:var(--color-border-subtle);background:inherit;box-shadow:none;transform:none}.project-card-link:hover .project-card-title,.project-card-link:focus-visible .project-card-title{color:#fff}.project-card-cover{aspect-ratio:16/9;border-bottom:1px solid var(--color-border-subtle);background:#ffffff08;overflow:hidden}.project-card-cover-image{object-fit:cover;width:100%;height:100%}.project-card-body{flex-direction:column;flex:1;gap:.875rem;padding:.75rem 1.25rem 1.25rem;display:flex}.project-card-heading{flex-direction:column;gap:.25rem;display:flex}.project-card-date{color:var(--color-text-subtle);margin:0;font-size:.8125rem;line-height:1.3}.project-card-title{width:100%;margin:0;font-size:1.05rem;font-weight:600;line-height:1.35;transition:color .22s}.project-card-tech-icons{flex-wrap:nowrap;align-items:stretch;gap:.375rem;width:100%;margin-top:auto;display:flex}.project-detail-tech-icons{flex-wrap:wrap;align-items:center;gap:.625rem;margin-top:auto;display:flex}.project-detail-section{border-top:1px solid var(--color-border-subtle);margin-top:.875rem;padding-top:.875rem}.project-detail-section .section-header{margin-bottom:.5rem}.project-detail-section .section-header:before{width:2.5rem;height:3px;margin-bottom:.4375rem}.project-detail-section .section-title{letter-spacing:-.01em;-webkit-text-fill-color:#fafafa;color:#fafafa;background:0 0;font-size:1.125rem;font-weight:600;line-height:1.35}@media (width>=768px){.project-detail-section .section-title{font-size:1.25rem}}.project-detail-section__text{color:var(--color-text-muted);font-size:.875rem;line-height:1.7}@media (width>=768px){.project-detail-section__text{font-size:.9375rem}}.project-detail-links{flex-wrap:wrap;gap:1rem;display:flex}.project-detail-link{color:var(--color-text-muted);font-size:.8125rem;font-weight:600;text-decoration:none;transition:color .22s}.project-detail-link:hover,.project-detail-link:focus-visible{color:#fff}.project-detail-link--primary{color:var(--color-highlight)}.project-detail-github-link{border:1px solid var(--color-border-subtle);width:3.5rem;height:3.5rem;color:var(--color-text-muted);background:#ffffff0a;border-radius:.875rem;justify-content:center;align-items:center;text-decoration:none;transition:transform .22s cubic-bezier(.22,1,.36,1),border-color .22s,background .22s,box-shadow .22s,color .22s;display:inline-flex}.project-detail-github-link:hover,.project-detail-github-link:focus-visible{color:#fff;background:linear-gradient(135deg,#1e223af5 0%,#281c34f5 100%);border-color:#bc52eecc;transform:translateY(-2px);box-shadow:0 10px 24px #3245ff52,0 0 0 1px #ffffff1a}.project-detail-github-link__icon{width:1.85rem;height:1.85rem}@media (width>=768px){.project-detail-github-link{width:4rem;height:4rem}.project-detail-github-link__icon{width:2.125rem;height:2.125rem}}.project-detail-content,.project-detail-content__lead{flex-direction:column;gap:1.25rem;display:flex}.project-detail-content-section{border-top:1px solid var(--color-border-subtle);padding-top:.75rem}.project-detail-content__toggle{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.75rem;padding:.35rem 0;transition:color .22s,transform .18s cubic-bezier(.22,1,.36,1);display:flex}.project-detail-content__toggle:hover,.project-detail-content__toggle:focus-visible{color:var(--color-highlight)}.project-detail-content__toggle:active{transform:scale(.985)}.project-detail-content__heading{color:#fff;margin:0;font-size:.9375rem;font-weight:600;line-height:1.35;transition:color .22s}.project-detail-content__toggle:hover .project-detail-content__heading,.project-detail-content__toggle:focus-visible .project-detail-content__heading{color:inherit}.project-detail-content__chevron{border-bottom:2px solid;border-right:2px solid;flex-shrink:0;width:.5rem;height:.5rem;transition:transform .32s cubic-bezier(.22,1,.36,1);transform:rotate(45deg)}.project-detail-content-section.is-collapsed .project-detail-content__chevron{transform:rotate(-45deg)}.project-detail-content-section__panel-wrap{grid-template-rows:1fr;transition:grid-template-rows .36s cubic-bezier(.22,1,.36,1);display:grid;overflow:hidden}.project-detail-content-section.is-collapsed .project-detail-content-section__panel-wrap{grid-template-rows:0fr}.project-detail-content-section__panel{flex-direction:column;gap:1.25rem;min-height:0;padding-top:.75rem;padding-bottom:.25rem;transition:padding .36s cubic-bezier(.22,1,.36,1);display:flex;overflow:hidden}.project-detail-content-section.is-collapsed .project-detail-content-section__panel{padding-top:0;padding-bottom:0}.project-detail-content__inline-link{color:var(--color-highlight);text-decoration:none;transition:color .22s}.project-detail-content__inline-link:hover,.project-detail-content__inline-link:focus-visible{color:#fff}.project-detail-content__figure{border:1px solid var(--color-border-subtle);background:#ffffff08;border-radius:.75rem;margin:0;overflow:hidden}.project-detail-content__image{object-fit:contain;width:100%;height:auto;display:block}.project-detail-content__pdf{flex-direction:column;gap:.75rem;display:flex}.project-detail-content__pdf-stage{border:1px solid var(--color-border-subtle);background:#ffffff08;border-radius:.75rem;position:relative;overflow:hidden}.project-detail-content__pdf-frame{background:#ffffff08;border:0;width:100%;height:min(100vh,60rem);display:block}.project-detail-content__pdf-link{color:var(--color-highlight);align-self:flex-start;font-size:.8125rem;font-weight:600;text-decoration:none;transition:color .22s}.project-detail-content__pdf-link:hover,.project-detail-content__pdf-link:focus-visible{color:#fff}.project-detail-content__caption{color:var(--color-text-subtle);margin:0;padding:.625rem .875rem .875rem;font-size:.75rem;line-height:1.45}.project-detail-content__figure .project-detail-content__caption{padding-top:0}.project-detail-tech-grid{grid-template-columns:repeat(auto-fill,minmax(5.75rem,1fr));gap:1.75rem 1.25rem;margin:0;padding:0;list-style:none;display:grid}.project-detail-experiences{flex-direction:column;gap:.75rem;display:flex}.project-detail-experience{border:1px solid var(--color-border-subtle);background:var(--color-surface-translucent);color:inherit;cursor:pointer;border-radius:1rem;align-items:flex-start;gap:.9rem;padding:.95rem 1.1rem;text-decoration:none;transition:border-color .22s,background .22s,box-shadow .22s,transform .22s cubic-bezier(.22,1,.36,1);display:flex}.project-detail-experience:hover,.project-detail-experience:focus-visible{background:linear-gradient(135deg,#1e223af5 0%,#281c34f5 100%);border-color:#bc52eecc;transform:translateY(-2px);box-shadow:0 14px 30px #3245ff61,0 0 0 1px #ffffff1f}.project-detail-experience.is-blurred .project-detail-experience__blurred{filter:blur(8px);user-select:none;pointer-events:none}.project-detail-experience__icon{object-fit:contain;background:#ffffff0a;border-radius:.65rem;flex-shrink:0;width:2.5rem;height:2.5rem}.project-detail-experience__body{flex-direction:column;gap:.15rem;min-width:0;display:flex}.project-detail-experience__company{color:var(--color-text);margin:0;font-size:.95rem;font-weight:600}.project-detail-experience__title{color:var(--color-text-muted);margin:0;font-size:.875rem}.project-detail-experience__dates{color:var(--color-text-subtle);margin:0;font-size:.75rem}.project-detail-experience__description{color:var(--color-text-muted);white-space:pre-line;margin:.35rem 0 0;font-size:.875rem;line-height:1.6}.project-detail-experience__sections{flex-direction:column;gap:.85rem;margin-top:.35rem;display:flex}.project-detail-experience__section .project-detail-experience__description{margin-top:0}.project-detail-experience__highlights{color:var(--color-text-muted);flex-direction:column;gap:.45rem;margin:.65rem 0 0;padding:0;font-size:.875rem;line-height:1.55;list-style:none;display:flex}.project-detail-experience__highlights li{gap:.75rem;display:flex}.project-detail-experience__highlights li:before{content:"";background:#67e8f9;border-radius:9999px;flex-shrink:0;width:.375rem;height:.375rem;margin-top:.55rem}.project-detail-tech-item{text-align:center;flex-direction:column;align-items:center;gap:.75rem;display:flex}.project-detail-tech-icon{height:var(--tech-icon-size,2.5rem);width:var(--tech-icon-size,2.5rem);object-fit:contain}.project-detail-tech-fallback{height:var(--tech-icon-size,2.5rem);width:var(--tech-icon-size,2.5rem);font-size:calc(var(--tech-icon-size,2.5rem) * .38);color:var(--color-accent-strong);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.project-detail-tech-name{color:var(--color-text-muted);word-break:break-word;max-width:6.5rem;font-size:.75rem;font-weight:500;line-height:1.35}@media (width>=768px){.project-detail-tech-grid{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:2rem 1.5rem}.project-detail-tech-name{max-width:7.5rem;font-size:.8125rem}}.project-card-tech-icon-wrap{min-width:0;height:var(--tech-icon-size,1.25rem);max-width:var(--tech-icon-size,1.25rem);aspect-ratio:1;flex:1 1 0;justify-content:center;align-items:center;display:inline-flex}.project-card-tech-icon{object-fit:contain;width:100%;height:100%}.project-card-tech-fallback{width:100%;height:100%;font-size:calc(var(--tech-icon-size,1.25rem) * .42);color:var(--color-accent-strong);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.life-grid{flex-direction:column;gap:.625rem;display:flex}.life-grid__column{display:contents}.life-card{flex-direction:column;order:var(--life-mobile-order,0);width:100%;padding:0;display:flex;overflow:hidden}@media (width>=768px){.life-grid{flex-direction:row;align-items:flex-start;gap:.75rem}.life-grid__column{flex-direction:column;flex:1;gap:.75rem;min-width:0;display:flex}.life-card{order:unset}}.life-card-embed{border-bottom:1px solid var(--color-border-subtle);background:#ffffff08;flex-direction:column;align-items:center;padding:.75rem .75rem .5rem;display:flex}.life-card-embed__stage{width:100%;max-width:660px;position:relative}.life-card-embed__slide{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .8s ease-in-out;position:absolute;inset:0}.life-card-embed__slide.is-active{opacity:1;visibility:visible;pointer-events:auto;position:relative}.life-card-embed__frame{background:var(--color-surface-translucent);border:0;border-radius:.875rem;width:100%;max-width:660px;height:450px;min-height:450px;display:block;overflow:hidden}.life-card-gallery{border-bottom:1px solid var(--color-border-subtle);background:#ffffff08;position:relative;overflow:hidden;container-type:inline-size}.life-card-gallery__stage{padding:1rem .5rem .75rem;transition:height .36s cubic-bezier(.22,1,.36,1),opacity .22s,transform .36s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.life-card-gallery__stage.is-view-switching-out,.life-card-gallery__stage.is-view-switching-in{opacity:0;pointer-events:none;transform:scale(.985)}.life-card-gallery__stage.is-view-switching-in-active{opacity:1;transform:scale(1)}.life-card-gallery.is-view-switching .life-card-gallery__stage{will-change:height, opacity, transform}.life-card-gallery.is-view-switching .life-card-gallery__slide,.life-card-gallery.is-view-switching .life-card-gallery__image{transition:none!important}.life-card-gallery__stage:before{content:"";aspect-ratio:4/3;visibility:hidden;pointer-events:none;width:52%;margin-inline:auto;display:block}@media (width>=768px){.life-card-gallery__stage{padding:1.125rem .5rem .85rem}}.life-card-gallery__slide{aspect-ratio:4/3;opacity:0;filter:brightness(.5)saturate(.8);pointer-events:none;contain:layout paint;width:30%;height:auto;box-shadow:none;border:1px solid #ffffff14;border-radius:.875rem;margin:auto;transition:transform .8s cubic-bezier(.22,1,.36,1),opacity .8s ease-in-out,width .8s cubic-bezier(.22,1,.36,1),visibility .8s ease-in-out;position:absolute;inset:0;overflow:hidden;transform:translate(0)scale(.78)}.life-card-gallery__slide.is-center{opacity:1;filter:none;z-index:20;pointer-events:auto;box-shadow:none;border-color:#ffffff47}.life-card-gallery__slide.is-center.is-video{cursor:pointer}.life-card-gallery__slide.is-side{pointer-events:auto;cursor:pointer;box-shadow:none;border-color:#ffffff0a}.life-card-gallery__slide.is-side:hover,.life-card-gallery__slide.is-side:focus-visible{border-color:#ffffff47}.life-card-gallery__slide.is-side:after{display:none}.life-card-gallery__slide.is-hidden{opacity:0;visibility:hidden;z-index:0;pointer-events:none;content-visibility:hidden;contain:strict;transform:translate(0)scale(.65)}@container (width<=30rem){.life-card-gallery__stage:before{width:88%}}.life-card-gallery__media{width:100%;height:100%;position:relative;overflow:hidden}.life-card-gallery__video{width:100%;height:100%;position:relative}.life-card-gallery__video-frame{z-index:2;opacity:0;pointer-events:none;background:#000;border:0;width:100%;height:100%;position:absolute;inset:0}.life-card-gallery__video.is-playing .life-card-gallery__video-frame{opacity:1;pointer-events:auto}.life-card-gallery__video.is-playing .life-card-gallery__video-badge{opacity:0}.life-card-gallery__video-badge{z-index:1;color:#fff;pointer-events:none;-webkit-backdrop-filter:blur(6px);background:#080a129e;border:1px solid #ffffff59;border-radius:9999px;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;margin:auto;font-size:.95rem;line-height:1;display:inline-flex;position:absolute;inset:0}.life-card-gallery__image{object-fit:cover;transform-origin:50%;width:100%;height:100%;transition:transform .28s cubic-bezier(.22,1,.36,1),filter .28s;display:block;transform:scale(1)}.life-card-gallery__image--video-fallback{background:radial-gradient(circle at 30% 20%,#3245ff59,#0000 55%),#151821f2}.life-card-gallery__slide.is-side:hover .life-card-gallery__image,.life-card-gallery__slide.is-side:focus-visible .life-card-gallery__image{filter:brightness(1.08);transform:scale(1.06)}@media (prefers-reduced-motion:reduce){.life-card-gallery__stage,.life-card-gallery.is-grid-view .life-card-gallery__stage{transition:none}.life-card-gallery__stage.is-view-switching-out,.life-card-gallery__stage.is-view-switching-in,.life-card-gallery__stage.is-view-switching-in-active{opacity:1;transform:none}.life-card-gallery__image{transition:filter .2s}.life-card-gallery__slide.is-side:hover .life-card-gallery__image,.life-card-gallery__slide.is-side:focus-visible .life-card-gallery__image,.life-card-gallery.is-grid-view .life-card-gallery__slide:hover .life-card-gallery__image,.life-card-gallery.is-grid-view .life-card-gallery__slide:focus-visible .life-card-gallery__image{transform:none}}.life-card-gallery__caption{color:#f8fafcf2;opacity:0;background:linear-gradient(#0000 0%,#000000b8 68%);margin:0;padding:1.5rem .625rem .5rem;font-size:.625rem;line-height:1.35;transition:opacity .3s ease-in-out;position:absolute;inset:auto 0 0}.life-card-gallery__slide.is-center .life-card-gallery__caption{opacity:1;padding:1.75rem .75rem .625rem;font-size:.75rem}.life-card-gallery__controls{z-index:10;justify-content:center;align-items:center;gap:.375rem;margin-top:.4rem;padding:0 .75rem .55rem;display:flex;position:relative}.life-card-embed .life-card-gallery__controls{margin-top:.45rem;padding-bottom:.15rem}.life-card-gallery__view-toggle{z-index:12;-webkit-backdrop-filter:blur(18px)saturate(150%);color:#f8fafceb;cursor:pointer;background:linear-gradient(155deg,#ffffff2e 0%,#ffffff0f 40%,#ffffff05 100%),#ffffff08;border:1px solid #ffffff38;border-radius:9999px;justify-content:center;align-items:center;width:1.625rem;height:1.625rem;padding:0;transition:color .2s,border-color .2s,background .2s,box-shadow .2s,transform .2s;display:inline-flex;position:absolute;bottom:.55rem;right:.65rem;box-shadow:inset 0 1px #ffffff59,inset 0 -1px #ffffff0d,0 4px 14px #00000029}.life-card-gallery__view-toggle:hover,.life-card-gallery__view-toggle:focus-visible{border-color:var(--liquid-glass-border-hover);color:#fff;box-shadow:inset 0 1px 0 #ffffff73, inset 0 -1px 0 #ffffff0f, var(--liquid-glass-glow);background:linear-gradient(155deg,#ffffff42 0%,#bae6fd1a 42%,#ffffff0a 100%),#ffffff0d;transform:translateY(-1px)}.life-card-gallery__view-toggle:disabled{cursor:wait;opacity:.7;transform:none}.life-card-gallery__view-icon{width:.9rem;height:.9rem;display:none}.life-card-gallery__view-icon--grid{display:block}.life-card-gallery.is-grid-view .life-card-gallery__view-icon--grid{display:none}.life-card-gallery.is-grid-view .life-card-gallery__view-icon--carousel{display:block}.life-card-gallery__grid-pager{z-index:10;justify-content:center;align-items:center;gap:.45rem;margin-top:.4rem;padding:0 2.5rem .55rem .75rem;display:none;position:relative}.life-card-gallery__page-label{text-align:center;letter-spacing:.04em;min-width:2.75rem;color:var(--color-text-subtle);font-size:.6875rem;font-weight:600}.life-card-gallery.is-grid-view .life-card-gallery__controls{display:none}.life-card-gallery.is-grid-view .life-card-gallery__grid-pager:not([hidden]){display:flex}.life-card-gallery.is-grid-view .life-card-gallery__stage{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:.75rem .65rem .85rem;transition:height .36s cubic-bezier(.22,1,.36,1),opacity .22s,transform .36s cubic-bezier(.22,1,.36,1);display:grid;overflow:hidden}.life-card-gallery.is-grid-view .life-card-gallery__stage.is-paging-out{opacity:0;transform:translateX(var(--grid-page-out,-14px))}.life-card-gallery.is-grid-view .life-card-gallery__stage.is-paging-in{opacity:0;transform:translateX(var(--grid-page-in,14px))}.life-card-gallery.is-grid-view .life-card-gallery__stage:before{display:none}.life-card-gallery.is-grid-view .life-card-gallery__slide,.life-card-gallery.is-grid-view .life-card-gallery__slide.is-center,.life-card-gallery.is-grid-view .life-card-gallery__slide.is-side,.life-card-gallery.is-grid-view .life-card-gallery__slide.is-hidden{pointer-events:auto;cursor:zoom-in;box-shadow:none;border-color:#ffffff1a;margin:0;transition:border-color .22s,opacity .8s ease-in-out;position:relative;inset:auto;opacity:1!important;visibility:visible!important;filter:none!important;z-index:1!important;width:100%!important;transform:none!important}.life-card-gallery.is-grid-view .life-card-gallery__slide:hover,.life-card-gallery.is-grid-view .life-card-gallery__slide:focus-visible{border-color:#ffffff57}.life-card-gallery.is-grid-view .life-card-gallery__slide:hover .life-card-gallery__image,.life-card-gallery.is-grid-view .life-card-gallery__slide:focus-visible .life-card-gallery__image{filter:brightness(1.07);transform:scale(1.05)}.life-card-gallery.is-grid-view .life-card-gallery__slide.is-grid-page-hidden{content-visibility:hidden;display:none!important}.life-card-gallery__grid-spacer{aspect-ratio:4/3;visibility:hidden;pointer-events:none;border-radius:.875rem;display:none}.life-card-gallery.is-grid-view .life-card-gallery__grid-spacer{display:block}.life-card-gallery.is-grid-view .life-card-gallery__slide:after{display:none}.life-card-gallery.is-grid-view .life-card-gallery__caption{opacity:1;padding:1.25rem .5rem .4rem;font-size:.625rem}@container (width<=24rem){.life-card-gallery.is-grid-view .life-card-gallery__stage{grid-template-columns:repeat(2,minmax(0,1fr))}}.life-card-gallery__zoom{z-index:30;backdrop-filter:blur();opacity:0;pointer-events:none;background:#080a1200;outline:none;flex-direction:column;justify-content:center;align-items:center;gap:.65rem;padding:.75rem;transition:opacity .24s,background .24s,backdrop-filter .24s;display:flex;position:absolute;inset:0}.life-card-gallery__zoom[hidden]{display:none}.life-card-gallery__zoom.is-visible{opacity:1;pointer-events:auto;backdrop-filter:blur(10px);background:#080a12eb}.life-card-gallery__zoom-image{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:calc(100% - 2.5rem);box-shadow:none;opacity:0;border:1px solid #ffffff24;border-radius:.75rem;transition:opacity .28s cubic-bezier(.22,1,.36,1),transform .28s cubic-bezier(.22,1,.36,1);display:block;transform:scale(.9)}.life-card-gallery__zoom.is-visible .life-card-gallery__zoom-image{opacity:1;transform:scale(1)}.life-card-gallery__zoom-video{aspect-ratio:16/9;opacity:0;background:#000;border:1px solid #ffffff24;border-radius:.75rem;width:min(100%,52rem);max-height:calc(100% - 2.5rem);transition:opacity .28s cubic-bezier(.22,1,.36,1),transform .28s cubic-bezier(.22,1,.36,1);display:block;transform:scale(.9)}.life-card-gallery__zoom-video[hidden]{display:none}.life-card-gallery__zoom.is-visible .life-card-gallery__zoom-video:not([hidden]){opacity:1;transform:scale(1)}.life-card-gallery__zoom-caption{text-align:center;color:#f8fafce6;opacity:0;max-width:100%;margin:0;padding:0 .5rem;font-size:.75rem;line-height:1.4;transition:opacity .24s 40ms,transform .24s 40ms;transform:translateY(6px)}.life-card-gallery__zoom.is-visible .life-card-gallery__zoom-caption{opacity:1;transform:translateY(0)}.life-card-gallery__zoom-close{z-index:31;-webkit-backdrop-filter:blur(18px)saturate(150%);color:#f8fafcf2;cursor:pointer;opacity:0;background:linear-gradient(155deg,#ffffff2e 0%,#ffffff0f 40%,#ffffff05 100%),#ffffff08;border:1px solid #ffffff38;border-radius:9999px;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:1.05rem;line-height:1;transition:opacity .2s,transform .2s,border-color .2s,color .2s;display:inline-flex;position:absolute;top:.55rem;right:.55rem;transform:scale(.9)}.life-card-gallery__zoom.is-visible .life-card-gallery__zoom-close{opacity:1;transform:scale(1)}.life-card-gallery__zoom-close:hover,.life-card-gallery__zoom-close:focus-visible{border-color:var(--liquid-glass-border-hover);color:#fff;box-shadow:inset 0 1px 0 #fff6, var(--liquid-glass-glow)}.life-card-gallery.is-zoomed .life-card-gallery__controls,.life-card-gallery.is-zoomed .life-card-gallery__grid-pager,.life-card-gallery.is-zoomed .life-card-gallery__view-toggle{visibility:hidden;pointer-events:none}.life-card-gallery__button{-webkit-backdrop-filter:blur(18px)saturate(150%);color:#f8fafceb;cursor:pointer;background:linear-gradient(155deg,#ffffff2e 0%,#ffffff0f 40%,#ffffff05 100%),#ffffff08;border:1px solid #ffffff38;border-radius:9999px;justify-content:center;align-items:center;width:1.625rem;height:1.625rem;font-size:.75rem;line-height:1;transition:color .2s,border-color .2s,background .2s,box-shadow .2s,transform .2s;display:inline-flex;box-shadow:inset 0 1px #ffffff59,inset 0 -1px #ffffff0d,0 4px 14px #00000029}.life-card-gallery__chevron{width:.7rem;height:.7rem;display:block}.life-card-gallery__button:hover,.life-card-gallery__button:focus-visible{border-color:var(--liquid-glass-border-hover);box-shadow:inset 0 1px 0 #ffffff73, inset 0 -1px 0 #ffffff0f, var(--liquid-glass-glow);color:#fff;background:linear-gradient(155deg,#ffffff42 0%,#bae6fd1a 38%,#ffffff08 100%),#ffffff0d;transform:translateY(-1px)}.life-card-gallery--placeholder{background:linear-gradient(135deg,#1e223aeb 0%,#281c34eb 100%);justify-content:center;align-items:center;display:flex}.life-card-gallery__placeholder-label{color:var(--color-text-muted);font-size:1.125rem;font-weight:600}.life-card-body{flex-direction:column;gap:1rem;padding:1.25rem 1.5rem 1.5rem;display:flex}.life-card-title{letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:700;line-height:1.25}.life-card-description-blocks{flex-direction:column;gap:.75rem;display:flex}.life-card-description{color:var(--color-text-muted);margin:0;font-size:.9375rem;line-height:1.7}.life-card-description__heading{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-subtle);margin:.25rem 0 0;font-size:.8125rem;font-weight:600}.life-card-description__link{color:var(--color-highlight);text-decoration:none;transition:color .2s}.life-card-description__link:hover,.life-card-description__link:focus-visible{color:#fff}.life-card-description__figure{border:1px solid var(--color-border-subtle);border-radius:.75rem;margin:0;overflow:hidden}.life-card-description__image{width:100%;height:auto;display:block}.life-card-description__caption{color:var(--color-text-subtle);margin:0;padding:.625rem .75rem;font-size:.75rem;line-height:1.45}.life-card-qualifications{border-top:1px solid var(--color-border-subtle);margin-top:.35rem;padding-top:1.1rem}.life-card-qualifications__label{letter-spacing:-.01em;text-transform:none;color:#fafafa;margin:0 0 .85rem;font-size:1.125rem;font-weight:600;line-height:1.35}.life-card-qualifications__label:before{content:"";background:linear-gradient(90deg,#67e8f9,#fcd34d);border-radius:9999px;width:2.5rem;height:3px;margin-bottom:.4375rem;display:block}@media (width>=768px){.life-card-qualifications__label{font-size:1.25rem}}.life-card-qualifications__items{flex-direction:column;gap:.85rem;display:flex}.life-qualification{--life-qualification-icon-size:calc((.9375rem * 1.4) + (.25rem + .8125rem * 1.5) + (.25rem + .8125rem * 1.5));grid-template-columns:var(--life-qualification-icon-size) minmax(0, 1fr);color:inherit;align-items:start;column-gap:.85rem;text-decoration:none;display:grid}.life-qualification+.life-qualification{border-top:1px solid var(--color-border-subtle);padding-top:.85rem}.life-qualification--link{transition:color .2s}.life-qualification--link:hover,.life-qualification--link:focus-visible{color:#bae6fd}.life-qualification--link:hover .life-qualification__meta,.life-qualification--link:hover .life-qualification__details,.life-qualification--link:focus-visible .life-qualification__meta,.life-qualification--link:focus-visible .life-qualification__details{color:inherit}.life-qualification__icon-wrap{box-sizing:border-box;width:var(--life-qualification-icon-size);height:var(--life-qualification-icon-size);aspect-ratio:1;border:1px solid var(--color-border-subtle);background:#ffffff0a;border-radius:.55rem;transition:border-color .22s,background .22s,box-shadow .22s,transform .22s cubic-bezier(.22,1,.36,1);display:block;overflow:hidden;transform:translateY(0)scale(1)}.life-qualification__icon{object-fit:cover;width:100%;height:100%;transition:transform .22s cubic-bezier(.22,1,.36,1);display:block}.life-qualification--link:hover .life-qualification__icon-wrap,.life-qualification--link:focus-visible .life-qualification__icon-wrap{background:linear-gradient(135deg,#1e223af5 0%,#281c34f5 100%);border-color:#bc52eebf;transform:translateY(-2px)scale(1.04);box-shadow:0 10px 22px #3245ff52,0 0 0 1px #ffffff1a}.life-qualification--link:hover .life-qualification__icon,.life-qualification--link:focus-visible .life-qualification__icon{transform:scale(1.06)}.life-qualification__body{flex:1;min-width:0}.life-qualification__name{margin:0;font-size:.9375rem;font-weight:600;line-height:1.4}.life-qualification__meta,.life-qualification__details{color:var(--color-text-muted);margin:.25rem 0 0;font-size:.8125rem;line-height:1.5;transition:color .2s}.life-qualification__details{color:var(--color-text-subtle)}.project-detail-cover{border:1px solid var(--color-border-subtle);background:#ffffff08;border-radius:1rem;overflow:hidden}.project-detail-cover img{object-fit:contain;width:100%;height:auto;display:block}.project-detail-hero{width:100%}.project-detail-meta{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.project-detail-meta__label{margin:0}.project-detail-title{letter-spacing:-.02em;width:100%;margin:0;font-size:2.25rem;font-weight:600;line-height:1.15}.project-detail-date{color:var(--color-text-subtle);text-align:right;flex-shrink:0;margin:0;font-size:.875rem}@media (width>=768px){.project-detail-title{font-size:3rem}}.project-back-link{color:var(--color-text-muted);align-items:center;gap:.35rem;margin-top:.75rem;font-size:1.05rem;font-weight:600;line-height:1.4;text-decoration:none;transition:color .22s;display:inline-flex}.project-back-link:hover,.project-back-link:focus-visible{color:#fff}@media (width>=768px){.project-back-link{margin-top:1rem;font-size:1.125rem}}.certification-row,.certification-row-link{align-items:center;gap:1rem;display:flex}.certification-row-link{color:inherit;text-decoration:none;transition:transform .22s cubic-bezier(.22,1,.36,1),border-color .22s,background .22s,box-shadow .22s}.certification-row-link:hover,.certification-row-link:focus-visible{background:linear-gradient(135deg,#1e223af5 0%,#281c34f5 100%);border-color:#bc52eecc;transform:translateY(-4px);box-shadow:0 14px 30px #3245ff61,0 0 0 1px #ffffff1f}.certification-row-link:hover .certification-row-title,.certification-row-link:focus-visible .certification-row-title{color:#fff}.certification-row-badge{border:1px solid var(--color-border-subtle);background:#ffffff0a;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;display:inline-flex;overflow:hidden}.certification-row-badge-image{object-fit:contain;width:100%;height:100%}.certification-row-title{transition:color .22s}@media (width<=639px){.certification-row,.certification-row-link{flex-wrap:wrap}.certification-row-date{width:100%;padding-left:4.5rem}.certification-row:not(:has(.certification-row-badge)) .certification-row-date,.certification-row-link:not(:has(.certification-row-badge)) .certification-row-date{padding-left:0}}.text-balance{text-wrap:balance}.hero-contact-aside{flex-flow:wrap;flex-shrink:0;justify-content:flex-start;align-items:center;gap:.85rem;width:100%;display:flex}.hero-contact-item{width:3.5rem;height:3.5rem;color:inherit;justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative}.hero-contact-label{z-index:2;white-space:nowrap;color:#f8fafceb;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(18px)saturate(160%);background:linear-gradient(165deg,#ffffff24 0%,#ffffff0d 48%,#ffffff05 100%),#12162038;border:1px solid #ffffff2e;border-radius:9999px;padding:.35rem .75rem;font-size:.75rem;font-weight:500;transition:opacity .22s,transform .22s,color .22s,border-color .22s,background .22s,box-shadow .22s;position:absolute;bottom:calc(100% + .85rem);left:50%;transform:translate(-50%)translateY(.35rem)scale(.96);box-shadow:inset 0 1px #ffffff47,0 10px 24px #0003}.hero-contact-icon{isolation:isolate;color:#f8fafceb;-webkit-backdrop-filter:blur(18px)saturate(150%);background:linear-gradient(155deg,#ffffff2e 0%,#ffffff0f 40%,#ffffff05 100%),#ffffff08;border:1px solid #ffffff38;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;transition:transform .26s cubic-bezier(.22,1,.36,1),border-color .22s,background .22s,color .22s,box-shadow .22s,filter .22s;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff59,inset 0 -1px #ffffff0d,0 8px 24px #0000002e,0 1px 2px #0000001f}.hero-contact-icon:before{content:"";z-index:0;border-radius:inherit;pointer-events:none;background:linear-gradient(185deg,#ffffff3d 0%,#ffffff0f 26%,#0000 58%);position:absolute;inset:1px}.hero-contact-icon:after{content:"";z-index:0;filter:blur(10px);pointer-events:none;background:#ffffff14;border-radius:50%;height:55%;position:absolute;inset:auto 18% -35%}.hero-contact-icon>*{z-index:1;position:relative}.hero-contact-item:not(.hero-contact-item--disabled):hover .hero-contact-label,.hero-contact-item:not(.hero-contact-item--disabled):focus-visible .hero-contact-label{opacity:1;color:#fff;border-color:var(--liquid-glass-border-hover);box-shadow:inset 0 1px 0 #ffffff59, var(--liquid-glass-glow);background:linear-gradient(165deg,#fff3 0%,#bae6fd14 48%,#ffffff08 100%),#181c2833;transform:translate(-50%)translateY(0)scale(1)}.hero-contact-item:not(.hero-contact-item--disabled):hover .hero-contact-icon,.hero-contact-item:not(.hero-contact-item--disabled):focus-visible .hero-contact-icon{border-color:var(--liquid-glass-border-hover);color:#fff;filter:saturate(1.05);box-shadow:inset 0 1px 0 #ffffff73, inset 0 -1px 0 #ffffff0f, var(--liquid-glass-glow-strong);background:linear-gradient(155deg,#ffffff42 0%,#bae6fd1a 38%,#ffffff08 100%),#ffffff0d;transform:translateY(-6px)scale(1.08)}@media (width>=768px){.hero-contact-aside{flex-direction:column;justify-content:center;align-items:flex-end;width:auto}.hero-contact-label{inset:50% calc(100% + .85rem) auto auto;transform:translateY(-50%)translate(.35rem)scale(.96)}.hero-contact-item:not(.hero-contact-item--disabled):hover .hero-contact-label,.hero-contact-item:not(.hero-contact-item--disabled):focus-visible .hero-contact-label{transform:translateY(-50%)translate(0)scale(1)}}.hero-contact-item--disabled .hero-contact-label{color:var(--color-text-subtle)}.hero-contact-item--disabled .hero-contact-icon{cursor:not-allowed;opacity:.45;box-shadow:none;transform:none}.hero-contact-item--disabled:hover .hero-contact-icon{color:#f8fafceb;filter:none;background:linear-gradient(155deg,#ffffff2e 0%,#ffffff0f 40%,#ffffff05 100%),#ffffff08;border-color:#ffffff38;transform:none;box-shadow:inset 0 1px #ffffff59,inset 0 -1px #ffffff0d,0 8px 24px #0000002e,0 1px 2px #0000001f}}button.projects-filter-pill,.projects-filter-pill,.projects-filter-pill *,button.life-card-gallery__button,.life-card-gallery__button,.life-card-gallery__button *{cursor:pointer!important}@media (prefers-reduced-motion:reduce){.hero-contact-label,.hero-contact-icon{transition:none}.hero-contact-item:not(.hero-contact-item--disabled):hover .hero-contact-icon,.hero-contact-item:not(.hero-contact-item--disabled):focus-visible .hero-contact-icon{transform:none}.education-card-link{transition:none}.education-card-link:hover,.education-card-link:focus-visible{transform:none}.projects-filter-pill{transition:color .2s,border-color .2s,background .2s,box-shadow .2s}.projects-filter-pill:hover,.projects-filter-pill:focus-visible,.projects-filter-pill.is-active:hover,.projects-filter-pill.is-active:focus-visible,.projects-filter-pill:hover .projects-filter-pill__icon,.projects-filter-pill:focus-visible .projects-filter-pill__icon,.projects-filter-pill:hover .projects-filter-pill__icon-fallback,.projects-filter-pill:focus-visible .projects-filter-pill__icon-fallback{transform:none}.award-card-link{transition:none}.award-card-link:hover,.award-card-link:focus-visible{transform:none}.project-card-link{transition:none}.project-card-link.is-filtering-out,.project-card-link.is-filtering-out.is-wiping,.project-card-link.is-filtering-out.is-filtering-collapse,.project-card-link.is-filtering-in{opacity:1;filter:none;clip-path:none;transition:none;animation:none;transform:none}.project-card-link:hover,.project-card-link:focus-visible{transform:none}.projects-empty{transition:none;transform:none}.certification-row-link{transition:none}.certification-row-link:hover,.certification-row-link:focus-visible{transform:none}.lazy-section__skeleton,.lazy-section.is-loaded .lazy-section__body>:first-child{animation:none}}@keyframes lazy-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes reveal-card-fade{0%{opacity:0}to{opacity:1}}@keyframes lazy-content-in{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@keyframes skills-panel-in{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@keyframes project-content-section-in{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}@keyframes marquee-rtl{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes marquee-ltr{0%{transform:translate(-50%)}to{transform:translate(0)}}.marquee-track{animation:40s linear infinite marquee-rtl}.skills-stack{flex-direction:column;gap:1rem;display:flex}.skills-stack__panel{width:100%;position:relative}.skills-stack__grid{border:1px solid var(--color-border-subtle);background:var(--color-surface-translucent);border-radius:1rem;padding:1rem;transition:opacity .42s cubic-bezier(.22,1,.36,1),transform .42s cubic-bezier(.22,1,.36,1),visibility .42s;overflow:hidden}.skills-stack__marquee{flex-direction:column;gap:1rem;padding-block:.25rem;transition:opacity .42s cubic-bezier(.22,1,.36,1),transform .42s cubic-bezier(.22,1,.36,1),visibility .42s;display:flex;overflow:hidden}.skills-stack:not(.is-expanded) .skills-stack__marquee{opacity:1;visibility:visible;position:relative;transform:translateY(0)scale(1)}.skills-stack:not(.is-expanded) .skills-stack__grid{opacity:0;visibility:hidden;pointer-events:none;width:100%;position:absolute;inset:0;transform:translateY(1.25rem)scale(.97)}.skills-stack.is-expanded .skills-stack__marquee{opacity:0;visibility:hidden;pointer-events:none;width:100%;position:absolute;inset:0;transform:translateY(-1.25rem)scale(.97)}.skills-stack.is-expanded .skills-stack__grid{opacity:1;visibility:visible;position:relative;transform:translateY(0)scale(1)}.skills-stack.is-showing-grid .skills-grid__category{animation:.52s cubic-bezier(.22,1,.36,1) both skills-panel-in}.skills-stack.is-showing-grid .skills-grid__category:nth-child(2){animation-delay:70ms}.skills-stack.is-showing-grid .skills-grid__category:nth-child(3){animation-delay:.14s}.skills-stack.is-showing-marquee .skills-stack__marquee{animation:.52s cubic-bezier(.22,1,.36,1) both skills-panel-in}.skills-marquee-row{padding-block:.45rem;overflow:hidden}.skills-marquee-row__track{gap:2rem;width:max-content;padding-inline:.75rem;display:flex}.skills-marquee-row__track--rtl{animation:27.6923s linear infinite marquee-rtl}.skills-marquee-row__track--ltr{animation:36.5217s linear infinite marquee-ltr}.skills-marquee__item{z-index:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.skills-marquee__icon-wrap{transform-origin:50%;flex-shrink:0;justify-content:center;align-items:center;width:5.25rem;height:5.25rem;transition:transform .24s cubic-bezier(.22,1,.36,1);display:inline-flex;overflow:visible;transform:scale(1)}.skills-marquee__item:hover,.skills-marquee__item:focus-within{z-index:2}.skills-marquee__item:hover .skills-marquee__icon-wrap,.skills-marquee__item:focus-within .skills-marquee__icon-wrap{transform:scale(1.22)}.skills-grid__icon-wrap{flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;transition:width .24s cubic-bezier(.22,1,.36,1),height .24s cubic-bezier(.22,1,.36,1);display:inline-flex;overflow:visible}.skills-marquee__icon{object-fit:contain;width:4.125rem;height:4.125rem}.skills-grid__icon{object-fit:contain;width:1.25rem;height:1.25rem;transition:width .24s cubic-bezier(.22,1,.36,1),height .24s cubic-bezier(.22,1,.36,1)}.skills-marquee__fallback{color:var(--color-accent-strong);font-size:1.875rem;font-weight:700}.skills-grid__fallback{color:var(--color-accent-strong);font-size:.65rem;font-weight:700;transition:font-size .24s cubic-bezier(.22,1,.36,1)}.skills-grid__category+.skills-grid__category{border-top:1px solid var(--color-border-subtle);margin-top:1rem;padding-top:1rem}.skills-grid__category-title{color:var(--color-text);font-size:.95rem;font-weight:600}.skills-grid__subcategory{margin-top:.65rem}.skills-grid__subcategory-title{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-subtle);font-size:.7rem;font-weight:600}.skills-grid__list{flex-wrap:wrap;align-items:center;gap:.55rem .95rem;margin-top:.45rem;padding:0;list-style:none;display:flex}.skills-grid__item{text-align:left;border-radius:.45rem;flex-direction:row;justify-content:center;align-items:center;gap:.4rem;padding:.15rem .25rem;transition:gap .24s cubic-bezier(.22,1,.36,1),background-color .22s;display:inline-flex}.skills-grid__item:hover,.skills-grid__item:focus-within{background-color:#ffffff0a;gap:.5rem}.skills-grid__item:hover .skills-grid__icon-wrap,.skills-grid__item:focus-within .skills-grid__icon-wrap{width:1.85rem;height:1.85rem}.skills-grid__item:hover .skills-grid__icon,.skills-grid__item:focus-within .skills-grid__icon{width:1.55rem;height:1.55rem}.skills-grid__item:hover .skills-grid__fallback,.skills-grid__item:focus-within .skills-grid__fallback{font-size:.8rem}.skills-grid__name{color:var(--color-text-muted);white-space:nowrap;font-size:.78rem;font-weight:500;line-height:1.2;transition:color .22s,font-size .24s cubic-bezier(.22,1,.36,1)}.skills-grid__item:hover .skills-grid__name,.skills-grid__item:focus-within .skills-grid__name{color:var(--color-text);font-size:.9rem}.skills-stack__toggle{-webkit-backdrop-filter:blur(18px)saturate(150%);color:#f8fafceb;cursor:pointer;background:linear-gradient(155deg,#ffffff2e 0%,#ffffff0f 40%,#ffffff05 100%),#ffffff08;border:1px solid #ffffff38;border-radius:9999px;align-self:center;padding:.5rem 1rem;font-size:.8rem;font-weight:600;transition:border-color .2s,color .2s,background .2s,box-shadow .2s,transform .2s;box-shadow:inset 0 1px #ffffff59,inset 0 -1px #ffffff0d,0 8px 24px #0000002e,0 1px 2px #0000001f}.skills-stack__toggle:hover,.skills-stack__toggle:focus-visible{border-color:var(--liquid-glass-border-hover);color:#fff;box-shadow:inset 0 1px 0 #ffffff73, inset 0 -1px 0 #ffffff0f, var(--liquid-glass-glow-strong);background:linear-gradient(155deg,#ffffff42 0%,#bae6fd1f 42%,#ffffff0a 100%),#ffffff0d;transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.marquee-track,.skills-marquee-row__track--rtl,.skills-marquee-row__track--ltr{animation:none}.skills-stack__marquee,.skills-stack__grid{transition:none}.skills-stack.is-showing-grid .skills-grid__category,.skills-stack.is-showing-marquee .skills-stack__marquee{animation:none}.skills-grid__item,.skills-grid__icon-wrap,.skills-grid__icon,.skills-grid__fallback,.skills-grid__name,.skills-marquee__icon-wrap{transition:none}.skills-marquee__item:hover .skills-marquee__icon-wrap,.skills-marquee__item:focus-within .skills-marquee__icon-wrap{transform:none}.skills-grid__item:hover .skills-grid__icon-wrap,.skills-grid__item:focus-within .skills-grid__icon-wrap{width:1.5rem;height:1.5rem}.skills-grid__item:hover .skills-grid__icon,.skills-grid__item:focus-within .skills-grid__icon{width:1.25rem;height:1.25rem}.skills-grid__item:hover .skills-grid__fallback,.skills-grid__item:focus-within .skills-grid__fallback{font-size:.65rem}.skills-grid__item:hover .skills-grid__name,.skills-grid__item:focus-within .skills-grid__name{font-size:.78rem}}.floating-nav{z-index:50;opacity:0;pointer-events:none;transition:opacity .22s,transform .22s;position:fixed;top:.875rem;left:auto;right:1rem;transform:translateY(-.75rem)}.floating-nav.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.floating-nav__menu-btn{-webkit-backdrop-filter:blur(18px)saturate(150%);color:#f8fafceb;font:inherit;cursor:pointer;background:linear-gradient(155deg,#ffffff2e 0%,#ffffff0f 40%,#ffffff05 100%),#151821e0;border:1px solid #ffffff38;border-radius:9999px;justify-content:center;align-items:center;padding:.45rem .9rem;font-size:.8rem;font-weight:600;line-height:1;transition:border-color .2s,color .2s,background .2s,box-shadow .2s;display:inline-flex;box-shadow:inset 0 1px #ffffff59,inset 0 -1px #ffffff0d,0 8px 24px #0000002e,0 1px 2px #0000001f}.floating-nav.is-open .floating-nav__menu-btn,.floating-nav:hover .floating-nav__menu-btn,.floating-nav:focus-within .floating-nav__menu-btn{border-color:var(--liquid-glass-border-hover);color:#fff;box-shadow:inset 0 1px 0 #ffffff73, inset 0 -1px 0 #ffffff0f, var(--liquid-glass-glow);background:linear-gradient(155deg,#ffffff42 0%,#bae6fd1a 38%,#ffffff0a 100%),#151821eb}.floating-nav__panel{-webkit-backdrop-filter:blur(18px)saturate(150%);opacity:0;visibility:hidden;pointer-events:none;transform-origin:100% 0;background:linear-gradient(155deg,#ffffff29 0%,#ffffff0d 42%,#ffffff05 100%),#151821e0;border:1px solid #ffffff38;border-radius:1rem;flex-direction:column;gap:.125rem;min-width:min(16rem,100vw - 2rem);padding:.35rem;transition:opacity .24s cubic-bezier(.22,1,.36,1),transform .28s cubic-bezier(.22,1,.36,1),visibility .24s;display:flex;position:absolute;top:calc(100% + .5rem);right:0;transform:translateY(-.5rem)scale(.96);box-shadow:inset 0 1px #ffffff52,inset 0 -1px #ffffff0a,0 12px 36px #00000047}@media (width<=767px){.floating-nav:after{content:"";width:min(16rem,100vw - 2rem);height:.5rem;position:absolute;top:100%;right:0}.floating-nav.is-open .floating-nav__panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}.floating-nav__link{opacity:0;transition:opacity .2s,transform .22s cubic-bezier(.22,1,.36,1),color .2s,background .2s;transform:translateY(-.35rem)}.floating-nav.is-open .floating-nav__link{opacity:1;transform:translateY(0)}.floating-nav.is-open .floating-nav__link:first-child{transition-delay:35ms}.floating-nav.is-open .floating-nav__link:nth-child(2){transition-delay:50ms}.floating-nav.is-open .floating-nav__link:nth-child(3){transition-delay:65ms}.floating-nav.is-open .floating-nav__link:nth-child(4){transition-delay:80ms}.floating-nav.is-open .floating-nav__link:nth-child(5){transition-delay:95ms}.floating-nav.is-open .floating-nav__link:nth-child(6){transition-delay:.11s}.floating-nav.is-open .floating-nav__link:nth-child(7){transition-delay:.125s}.floating-nav.is-open .floating-nav__link:nth-child(8){transition-delay:.14s}}.floating-nav__link{color:var(--color-text-muted);text-align:left;border-radius:.65rem;flex-shrink:0;padding:.75rem .9rem;font-size:.875rem;font-weight:500;line-height:1.25;transition:color .2s,background .2s;position:relative}.floating-nav__link:hover{color:var(--color-text);background:linear-gradient(155deg,#ffffff29 0%,#ffffff0d 100%),#ffffff0a}.floating-nav__link.is-active{color:var(--color-accent-strong);background:linear-gradient(155deg,#fff3 0%,#ffffff0f 100%),#ffffff0d}.floating-nav__link.is-active:after{content:"";background:var(--color-accent-strong);border-radius:9999px;width:.2rem;height:1.1rem;position:absolute;top:50%;left:.45rem;transform:translateY(-50%)}@media (width>=768px){.floating-nav{top:1rem;left:50%;right:auto;transform:translate(-50%)translateY(-.75rem)}.floating-nav.is-visible{transform:translate(-50%)translateY(0)}.floating-nav__menu-btn{display:none}.floating-nav__panel{scrollbar-width:none;scroll-behavior:smooth;opacity:1;visibility:visible;pointer-events:auto;border-radius:9999px;flex-direction:row;align-items:center;gap:.2rem;max-width:calc(100vw - 2rem);padding:.25rem .45rem;transition:none;display:flex;position:static;overflow-x:auto;transform:none}.floating-nav__panel::-webkit-scrollbar{display:none}.floating-nav__link{white-space:nowrap;text-align:center;opacity:1;border-radius:0;padding:.4rem .75rem .6rem;font-size:.85rem;line-height:1;transition:color .2s;transform:none}.floating-nav__link:hover,.floating-nav__link.is-active{background:0 0}.floating-nav__link.is-active:after{width:.25rem;height:.25rem;top:auto;bottom:.3rem;left:50%;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.floating-nav{transition:none}.floating-nav__panel{scroll-behavior:auto;transition:none}@media (width<=767px){.floating-nav__panel{transform:none}.floating-nav__link{opacity:1;transition:color .2s,background .2s;transform:none}}.project-detail-content__lead,.project-detail-content-section{animation:none}[data-reveal],[data-project-reveal],[data-reveal-stagger-item].is-revealed{opacity:1;animation:none}.project-detail-content__toggle,.project-detail-content__chevron,.project-detail-content-section__panel-wrap{transition:none}.project-detail-content__toggle:active{transform:none}.project-detail-content-section.is-collapsed .project-detail-content-section__panel-wrap{opacity:1}}@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}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}
