/*! 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-duration:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia: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-2xl:1rem;--blur-sm:8px;--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}}@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}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{.visible{visibility:visible}.static{position:static}.mx-auto{margin-inline:auto}.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}.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-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-10{gap:calc(var(--spacing) * 10)}: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)))}.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}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.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)}.lowercase{text-transform:lowercase}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.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}@media (hover:hover){.hover\:text-\[var\(--color-text\)\]:hover{color:var(--color-text)}.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-24{padding-top:calc(var(--spacing) * 24)}.md\:pb-28{padding-bottom:calc(var(--spacing) * 28)}.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) * 20)}@media (width>=48rem){.section-padding{padding-block:calc(var(--spacing) * 28)}}.project-detail-main{padding-bottom:calc(var(--spacing) * 16)}@media (width>=48rem){.project-detail-main{padding-bottom:calc(var(--spacing) * 24)}}.project-detail-main{padding-top:1.25rem}[data-reveal],[data-project-reveal]{opacity:0;transition:opacity .8s ease-in-out;transition-delay:var(--reveal-delay,0s);transform:none}[data-reveal].is-revealed,[data-project-reveal].is-revealed{opacity:1}[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:1.5rem}}.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) * 8);width:100%;position:relative}@media (width>=48rem){.section-header{margin-bottom:calc(var(--spacing) * 10)}}.section-header:before{content:"";background:linear-gradient(90deg,#67e8f9,#fcd34d);border-radius:9999px;width:3.5rem;height:4px;margin-bottom:1.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) * 5)}:where(.section-description>: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)))}.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) * 6);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:2.75rem;display:grid}.experience-timeline__item:last-child{padding-bottom:0}.experience-timeline__dates{text-align:right;flex-direction:column;gap:1.25rem;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-items:center;gap:1.25rem;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__content{min-width:0;padding-top:.05rem}.experience-timeline__company{color:var(--color-text);align-items:center;gap:.75rem;font-size:1.25rem;font-weight:600;line-height:1.3;display:flex}.experience-timeline__company a{color:inherit;text-decoration:none}.experience-timeline__company a:hover{color:#bae6fd}.experience-timeline__icon{object-fit:contain;background:#ffffff0a;border-radius:.375rem;flex-shrink:0;width:2rem;height:2rem}.experience-timeline__title{color:#bae6fd;margin-top:.35rem;font-size:1rem;font-weight:500}.experience-timeline__title a{color:inherit;text-decoration:none}.experience-timeline__title a:hover{color:#7dd3fc}.experience-timeline__description{color:var(--color-text-muted);margin-top:.85rem;font-size:1rem;line-height:1.7}.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}@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-radius:var(--radius-2xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border-subtle);--tw-backdrop-blur:blur(var(--blur-sm));backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);background-color:#151821b8}.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;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#67e8f973 transparent;margin-inline:-.25rem;padding-top:1.5rem;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:.5rem .25rem .75rem;display:flex}.award-card{scroll-snap-align:start;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-slider{z-index:2;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#67e8f973 transparent;margin-inline:-.25rem;padding-top:1.5rem;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:.5rem .25rem .75rem;display:flex}.project-card{scroll-snap-align:start;flex-direction:column;flex:0 0 min(18rem,78vw);align-self:stretch;padding:0;display:flex;overflow:hidden}.project-card-link{color:inherit;text-decoration:none;transition:transform .22s cubic-bezier(.22,1,.36,1),border-color .22s,background .22s,box-shadow .22s}.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: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,.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:2.5rem;padding-top:2.5rem}.project-detail-section .section-header{margin-bottom:1rem}.project-detail-section .section-header:before{width:2.5rem;height:3px;margin-bottom:.875rem}.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-canvas-view[data-pdf-mode=object]{display:none}.project-detail-content__pdf-canvas-wrap{justify-content:center;align-items:center;min-height:min(70vh,42rem);padding:.75rem;display:flex;overflow:auto}.project-detail-content__pdf-canvas{max-width:100%;height:auto;display:block}.project-detail-content__pdf-status{text-align:center;color:var(--color-text-subtle);margin:0;padding:1.5rem;font-size:.875rem}.project-detail-content__pdf-toolbar{border-top:1px solid var(--color-border-subtle);justify-content:center;align-items:center;gap:.75rem;padding:.75rem;display:flex}.project-detail-content__pdf-nav{align-items:center;gap:.5rem;display:flex}.project-detail-content__pdf-button{border:1px solid var(--color-border-subtle);color:inherit;font:inherit;cursor:pointer;background:#ffffff0a;border-radius:999px;padding:.45rem .85rem;font-size:.8125rem;font-weight:600;transition:background-color .18s,border-color .18s}.project-detail-content__pdf-button:disabled{opacity:.45;cursor:not-allowed}.project-detail-content__pdf-button:not(:disabled):hover,.project-detail-content__pdf-button:not(:disabled):focus-visible{background:#ffffff14;border-color:#fff3}.project-detail-content__pdf-page-info{text-align:center;min-width:7rem;color:var(--color-text-subtle);font-size:.8125rem}.project-detail-content__pdf-object,.project-detail-content__pdf-embed{background:#ffffff08;border:0;width:100%;height:min(70vh,42rem);display:block}.project-detail-content__pdf-canvas-view[data-pdf-mode=canvas]+.project-detail-content__pdf-object{display:none}.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-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{justify-content:center;align-items:center;display:inline-flex}.project-card-tech-icon{height:var(--tech-icon-size,1.25rem);width:var(--tech-icon-size,1.25rem);object-fit:contain}.project-card-tech-fallback{height:var(--tech-icon-size,1.25rem);width:var(--tech-icon-size,1.25rem);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}.hobbies-grid{gap:1.25rem;display:grid}@media (width>=768px){.hobbies-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}}.hobby-card{flex-direction:column;padding:0;display:flex;overflow:hidden}.hobby-card-embed{border-bottom:1px solid var(--color-border-subtle);background:#ffffff08;flex-direction:column;align-items:center;padding:.75rem .75rem .5rem;display:flex}.hobby-card-embed__stage{width:100%;max-width:660px;position:relative}.hobby-card-embed__slide{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .8s ease-in-out;position:absolute;inset:0}.hobby-card-embed__slide.is-active{opacity:1;visibility:visible;pointer-events:auto;position:relative}.hobby-card-embed__frame{background:#151821b8;border:0;border-radius:.875rem;width:100%;max-width:660px;height:450px;min-height:450px;display:block;overflow:hidden}.hobby-card-gallery{border-bottom:1px solid var(--color-border-subtle);background:#ffffff08;position:relative;overflow:hidden}.hobby-card-gallery__stage{justify-content:center;align-items:center;min-height:15rem;padding:1rem .25rem .5rem;display:flex;position:relative}@media (width>=768px){.hobby-card-gallery__stage{min-height:18rem;padding:1.125rem .25rem .5rem}}.hobby-card-gallery__slide{aspect-ratio:4/3;opacity:0;filter:brightness(.5)saturate(.8);pointer-events:none;border:1px solid #ffffff14;border-radius:.875rem;width:30%;transition:transform .8s cubic-bezier(.22,1,.36,1),opacity .8s ease-in-out,filter .8s ease-in-out,box-shadow .8s ease-in-out;position:absolute;overflow:hidden;transform:translate(0)scale(.78);box-shadow:0 8px 20px #0000002e}.hobby-card-gallery__slide.is-far-left,.hobby-card-gallery__slide.is-far-right{opacity:.55;z-index:1;width:28%}.hobby-card-gallery__slide.is-far-left{transform:translate(-100%)scale(.86)}.hobby-card-gallery__slide.is-left,.hobby-card-gallery__slide.is-right{opacity:.78;z-index:2;width:34%}.hobby-card-gallery__slide.is-left{transform:translate(-54%)scale(.92)}.hobby-card-gallery__slide.is-center{opacity:1;filter:none;z-index:4;width:50%;transform:translate(0)scale(1);box-shadow:0 18px 36px #00000047,0 0 0 1px #ffffff1a}.hobby-card-gallery__slide.is-right{transform:translate(54%)scale(.92)}.hobby-card-gallery__slide.is-far-right{transform:translate(100%)scale(.86)}.hobby-card-gallery__slide.is-hidden{opacity:0;z-index:0;transform:translate(0)scale(.65)}.hobby-card-gallery__media{width:100%;height:100%;position:relative;overflow:hidden}.hobby-card-gallery__image{object-fit:cover;width:100%;height:100%;display:block}.hobby-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}.hobby-card-gallery__slide.is-center .hobby-card-gallery__caption{opacity:1;padding:1.75rem .75rem .625rem;font-size:.75rem}.hobby-card-gallery__controls{justify-content:center;align-items:center;gap:.375rem;padding:0 .75rem .625rem;display:flex}.hobby-card-gallery__button{border:1px solid var(--color-border-subtle);width:1.625rem;height:1.625rem;color:var(--color-text-muted);background:#151821d1;border-radius:9999px;justify-content:center;align-items:center;font-size:.75rem;line-height:1;transition:color .2s,border-color .2s,background .2s,transform .2s;display:inline-flex}.hobby-card-gallery__button:hover,.hobby-card-gallery__button:focus-visible{color:var(--color-text);background:#1e223af5;border-color:#bc52eecc;transform:translateY(-1px)}.hobby-card-gallery--placeholder{background:linear-gradient(135deg,#1e223aeb 0%,#281c34eb 100%);justify-content:center;align-items:center;display:flex}.hobby-card-gallery__placeholder-label{color:var(--color-text-muted);font-size:1.125rem;font-weight:600}.hobby-card-body{flex-direction:column;flex:1;gap:1rem;padding:1.25rem 1.5rem 1.5rem;display:flex}.hobby-card-title{letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:700;line-height:1.25}.hobby-card-description{color:var(--color-text-muted);margin:0;font-size:.9375rem;line-height:1.7}.hobby-card-qualifications{margin-top:auto;padding-top:.25rem}.hobby-card-qualifications__label{letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-subtle);margin:0 0 .625rem;font-size:.75rem;font-weight:600}.hobby-card-qualifications__items{flex-direction:column;gap:.75rem;display:flex}.hobby-qualification{border-top:1px solid var(--color-border-subtle);padding-top:.75rem}.hobby-qualification:first-child{border-top:0;padding-top:0}.hobby-qualification__name{margin:0;font-size:.9375rem;font-weight:600;line-height:1.4}.hobby-qualification__name a{color:inherit;text-decoration:none;transition:color .2s}.hobby-qualification__name a:hover,.hobby-qualification__name a:focus-visible{color:#bae6fd}.hobby-qualification__meta,.hobby-qualification__cert-id{color:var(--color-text-muted);margin:.25rem 0 0;font-size:.8125rem;line-height:1.5}.hobby-qualification__cert-id{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;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{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;border:1px solid var(--color-border-subtle);color:var(--color-text-muted);opacity:0;pointer-events:none;background:#151821f5;border-radius:9999px;padding:.35rem .7rem;font-size:.75rem;font-weight:500;transition:opacity .22s,transform .22s,color .22s,border-color .22s,background-color .22s;position:absolute;bottom:calc(100% + .85rem);left:50%;transform:translate(-50%)translateY(.35rem)scale(.96)}.hero-contact-icon{border:1px solid var(--color-border-subtle);width:3.5rem;height:3.5rem;color:var(--color-text-muted);backdrop-filter:blur(8px);background:#151821b8;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;transition:transform .22s cubic-bezier(.22,1,.36,1),border-color .22s,background .22s,color .22s,box-shadow .22s;display:inline-flex;box-shadow:0 4px 14px #0000002e}.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:var(--color-accent-strong);background:#1e2230f5;border-color:#7c86ff73;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{color:#fff;background:linear-gradient(135deg,#3245ff 0%,#bc52ee 100%);border-color:#bc52eecc;transform:translateY(-6px)scale(1.1);box-shadow:0 14px 30px #3245ff61,0 0 0 1px #ffffff1f}@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{border-color:var(--color-border-subtle);color:var(--color-text-muted);box-shadow:none;background:#151821b8;transform:none}}@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}.award-card-link{transition:none}.award-card-link:hover,.award-card-link:focus-visible{transform:none}.project-card-link{transition:none}.project-card-link:hover,.project-card-link:focus-visible{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:#1518218c;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{overflow:hidden}.skills-marquee-row__track{gap:2rem;width:max-content;padding-inline:.75rem;display:flex}.skills-marquee-row__track--rtl{animation:36s linear infinite marquee-rtl}.skills-marquee-row__track--ltr{animation:42s linear infinite marquee-ltr}.skills-marquee__item{justify-content:center;align-items:center;display:inline-flex}.skills-marquee__icon-wrap{flex-shrink:0;justify-content:center;align-items:center;width:5.25rem;height:5.25rem;display:inline-flex;overflow:hidden}.skills-grid__icon-wrap{flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;display:inline-flex;overflow:hidden}.skills-marquee__icon{object-fit:contain;width:4.125rem;height:4.125rem}.skills-grid__icon{object-fit:contain;width:1.25rem;height:1.25rem}.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}.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;gap:.4rem .85rem;margin-top:.45rem;padding:0;list-style:none;display:flex}.skills-grid__item{text-align:left;flex-direction:row;align-items:center;gap:.4rem;display:inline-flex}.skills-grid__name{color:var(--color-text-muted);white-space:nowrap;font-size:.78rem;font-weight:500;line-height:1.2}.skills-stack__toggle{border:1px solid var(--color-border-subtle);color:var(--color-text);cursor:pointer;background:#151821e0;border-radius:9999px;align-self:center;padding:.5rem 1rem;font-size:.8rem;font-weight:600;transition:border-color .2s,color .2s,background .2s,transform .2s}.skills-stack__toggle:hover,.skills-stack__toggle:focus-visible{color:#fff;background:linear-gradient(135deg,#1e223af5 0%,#281c34f5 100%);border-color:#bc52eecc;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}}.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{border:1px solid var(--color-border-subtle);backdrop-filter:blur(12px);color:var(--color-text);font:inherit;cursor:pointer;background:#151821e0;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;display:inline-flex;box-shadow:0 0 0 1px #ffffff0a,0 8px 32px #0006}.floating-nav.is-open .floating-nav__menu-btn,.floating-nav:hover .floating-nav__menu-btn,.floating-nav:focus-within .floating-nav__menu-btn{color:#fff;background:linear-gradient(135deg,#1e223af5 0%,#281c34f5 100%);border-color:#bc52eecc}.floating-nav__panel{border:1px solid var(--color-border-subtle);backdrop-filter:blur(12px);opacity:0;visibility:hidden;pointer-events:none;transform-origin:100% 0;background:#151821f0;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:0 0 0 1px #ffffff0a,0 12px 36px #00000073}@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,.floating-nav:hover .floating-nav__panel,.floating-nav:focus-within .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,.floating-nav:hover .floating-nav__link,.floating-nav:focus-within .floating-nav__link{opacity:1;transform:translateY(0)}.floating-nav.is-open .floating-nav__link:first-child,.floating-nav:hover .floating-nav__link:first-child,.floating-nav:focus-within .floating-nav__link:first-child{transition-delay:35ms}.floating-nav.is-open .floating-nav__link:nth-child(2),.floating-nav:hover .floating-nav__link:nth-child(2),.floating-nav:focus-within .floating-nav__link:nth-child(2){transition-delay:50ms}.floating-nav.is-open .floating-nav__link:nth-child(3),.floating-nav:hover .floating-nav__link:nth-child(3),.floating-nav:focus-within .floating-nav__link:nth-child(3){transition-delay:65ms}.floating-nav.is-open .floating-nav__link:nth-child(4),.floating-nav:hover .floating-nav__link:nth-child(4),.floating-nav:focus-within .floating-nav__link:nth-child(4){transition-delay:80ms}.floating-nav.is-open .floating-nav__link:nth-child(5),.floating-nav:hover .floating-nav__link:nth-child(5),.floating-nav:focus-within .floating-nav__link:nth-child(5){transition-delay:95ms}.floating-nav.is-open .floating-nav__link:nth-child(6),.floating-nav:hover .floating-nav__link:nth-child(6),.floating-nav:focus-within .floating-nav__link:nth-child(6){transition-delay:.11s}.floating-nav.is-open .floating-nav__link:nth-child(7),.floating-nav:hover .floating-nav__link:nth-child(7),.floating-nav:focus-within .floating-nav__link:nth-child(7){transition-delay:.125s}.floating-nav.is-open .floating-nav__link:nth-child(8),.floating-nav:hover .floating-nav__link:nth-child(8),.floating-nav:focus-within .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:#ffffff0a}.floating-nav__link.is-active{color:var(--color-accent-strong);background:#67e8f914}.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]{opacity:1;transition:none}[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-duration{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
