@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";/*! tailwindcss v4.1.8 | 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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.m-208{margin:calc(var(--spacing)*208)}.m-266{margin:calc(var(--spacing)*266)}.m-494{margin:calc(var(--spacing)*494)}.m-522{margin:calc(var(--spacing)*522)}.m-769{margin:calc(var(--spacing)*769)}.m-846{margin:calc(var(--spacing)*846)}.m-1151{margin:calc(var(--spacing)*1151)}.m-1692{margin:calc(var(--spacing)*1692)}.m-2567{margin:calc(var(--spacing)*2567)}.m-2574{margin:calc(var(--spacing)*2574)}.flex{display:flex}.hidden{display:none}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}}:root{--color-bg-primary:#0a0a0a;--color-bg-secondary:#111;--color-bg-tertiary:#1a1a1a;--color-bg-card:#141414;--color-bg-card-hover:#1e1e1e;--color-accent:#007aff;--color-accent-hover:#339dff;--color-text-primary:#fff;--color-text-secondary:#a0a0a0;--color-text-muted:#727272;--color-border:#ffffff14;--color-border-accent:#007aff59;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--fs-sm:.875rem;--fs-base:1rem;--fs-lg:1.25rem;--fs-xl:2.25rem;--fs-2xl:3rem;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--lh-tight:1.2;--lh-normal:1.5;--lh-relaxed:1.75;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-section:5rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.3s ease}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--fs-base);font-weight:var(--fw-regular);line-height:var(--lh-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}ul{list-style:none}.site-wrapper{flex-direction:column;min-height:100vh;display:flex}.page-container{flex:1;animation:.8s ease-out fadeSlideUp}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.section{padding:var(--space-section)var(--space-lg)}.section-inner{max-width:72rem;margin:0 auto}.section-title{font-size:var(--fs-xl);font-weight:var(--fw-bold);text-align:center;margin-bottom:var(--space-3xl);color:var(--color-text-primary)}.navbar{z-index:100;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);background-color:#0a0a0ad9;align-items:center;height:3.5rem;display:flex;position:sticky;top:0}.navbar-inner{width:100%;max-width:72rem;padding:0 var(--space-lg);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.navbar-brand{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--color-text-primary);letter-spacing:-.01em}.navbar-links{align-items:center;gap:var(--space-xs);display:flex}.navbar-links a{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-text-secondary);padding:var(--space-xs)var(--space-md);border-radius:var(--radius-sm);transition:color var(--transition-fast)}.navbar-links a:hover{color:var(--color-text-primary)}.navbar-links .nav-resume{color:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--radius-full);font-size:var(--fs-sm);transition:all var(--transition-fast);padding:4px 14px}.navbar-links .nav-resume:hover{background-color:var(--color-accent);color:var(--color-text-primary)}.navbar-links .nav-icon{font-size:var(--fs-lg);padding:var(--space-xs)var(--space-sm)}.mobile-menu-btn{cursor:pointer;z-index:200;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:28px;height:28px;padding:0;display:none}.mobile-menu-bar{background-color:var(--color-text-primary);width:100%;height:2px;transition:all var(--transition-normal);transform-origin:50%;border-radius:2px;display:block}.mobile-menu-btn--open .mobile-menu-bar:first-child{transform:translateY(7px)rotate(45deg)}.mobile-menu-btn--open .mobile-menu-bar:nth-child(2){opacity:0}.mobile-menu-btn--open .mobile-menu-bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-menu-overlay{background-color:var(--color-bg-primary);z-index:150;padding-top:var(--space-3xl);justify-content:center;align-items:flex-start;animation:.2s ease-out menuFadeIn;display:flex;position:fixed;top:3.5rem;right:0;bottom:0;left:0}@keyframes menuFadeIn{0%{opacity:0}to{opacity:1}}.mobile-menu-nav{align-items:center;gap:var(--space-lg);flex-direction:column;display:flex}.mobile-menu-link{font-size:var(--fs-lg);font-weight:var(--fw-medium);color:var(--color-text-secondary);transition:color var(--transition-fast)}.mobile-menu-link:hover{color:var(--color-text-primary)}.mobile-menu-link--accent{color:var(--color-accent)}.hero{padding:var(--space-section)var(--space-lg);text-align:center;background-color:var(--color-bg-primary)}.hero-inner{max-width:48rem;margin:0 auto}.hero h1{font-size:var(--fs-2xl);font-weight:var(--fw-extrabold);line-height:var(--lh-tight);margin-bottom:var(--space-lg);color:var(--color-text-primary)}.hero h1 .accent{color:var(--color-accent)}.hero .subtitle{font-size:var(--fs-lg);color:var(--color-text-secondary);max-width:32rem;margin:0 auto var(--space-2xl);line-height:var(--lh-relaxed)}.status-badge{align-items:center;gap:var(--space-sm);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);margin-bottom:var(--space-xl);padding:6px 16px;display:inline-flex}.status-dot{border-radius:var(--radius-full);background-color:#22c55e;width:8px;height:8px;animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.hero-actions{justify-content:center;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.btn{align-items:center;gap:var(--space-sm);padding:var(--space-sm)var(--space-xl);font-size:var(--fs-sm);font-weight:var(--fw-semibold);font-family:var(--font-family);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-normal);text-decoration:none;display:inline-flex}.btn-outline{color:var(--color-accent);border:1.5px solid var(--color-accent);background:0 0}.btn-outline:hover{background:var(--color-accent);color:var(--color-text-primary)}.btn-filled{background:var(--color-accent);color:var(--color-text-primary);border:1.5px solid var(--color-accent)}.btn-filled:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.about{background-color:var(--color-bg-secondary)}.about-grid{gap:var(--space-3xl);margin-top:calc(var(--space-xl)*-1);grid-template-columns:auto 1fr;align-items:center;display:grid}.profile-image-wrapper{width:200px;height:200px;position:relative}.profile-image-wrapper img{object-fit:cover;border-radius:var(--radius-full);border:3px solid var(--color-accent);width:100%;height:100%}.about-text p{font-size:var(--fs-base);color:var(--color-text-secondary);line-height:var(--lh-relaxed);margin-bottom:var(--space-lg)}.about-text p:last-child{margin-bottom:0}.skills{background-color:var(--color-bg-primary)}.skills-grid{gap:var(--space-2xl);grid-template-columns:repeat(3,1fr);display:grid}.skills-category-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-md)}.skills-tags{gap:var(--space-sm);flex-wrap:wrap;display:flex}.skill-tag{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-text-primary);background-color:var(--color-bg-card);border-radius:var(--radius-full);border:1px solid var(--color-border);transition:border-color var(--transition-fast);padding:6px 16px}.skill-tag:hover{border-color:var(--color-border-accent)}.projects{background-color:var(--color-bg-secondary)}.projects-grid{gap:var(--space-xl);grid-template-columns:repeat(2,1fr);display:grid}.project-card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);gap:var(--space-sm);min-height:220px;max-height:240px;transition:border-color var(--transition-normal),max-height var(--transition-normal);flex-direction:column;display:flex;position:relative;overflow:hidden}.project-card--expanded{max-height:600px;overflow:visible}.project-card>*{flex-shrink:0}.project-card:hover{border-color:var(--color-border-accent)}.project-card-toggle{background:linear-gradient(to bottom,transparent,var(--color-bg-card)40%);width:100%;color:var(--color-accent);font-size:var(--fs-sm);font-weight:var(--fw-medium);font-family:var(--font-family);cursor:pointer;padding:var(--space-2xl)var(--space-lg)var(--space-md);text-align:left;z-index:5;transition:color var(--transition-fast);border:none;position:absolute;bottom:0;left:0}.project-card--expanded .project-card-toggle{margin-top:var(--space-sm);background:0 0;padding:0;position:relative}.project-card-toggle:hover{color:var(--color-accent-hover)}.project-card-label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;display:flex}.project-card-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--color-text-primary)}.project-card-desc{font-size:var(--fs-sm);color:var(--color-text-muted);line-height:var(--lh-normal)}.project-tags{gap:var(--space-sm);margin-top:var(--space-sm);flex-wrap:wrap;display:flex}.project-tag{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-text-secondary);border-radius:var(--radius-full);border:1px solid var(--color-border);background-color:#ffffff0f;padding:4px 12px}.project-card-link{align-items:center;gap:var(--space-sm);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-accent);transition:color var(--transition-fast);display:inline-flex}.project-card-link:hover{color:var(--color-accent-hover)}.carousel-wrapper{position:relative}.carousel-track-container{overflow:hidden}.carousel-track{transition:transform var(--transition-normal);display:flex}.carousel-slide{padding:0 var(--space-sm);-webkit-user-select:none;user-select:none;flex:0 0 50%}.carousel-btn{z-index:10;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-full);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.carousel-btn:hover{background-color:var(--color-bg-card-hover);color:var(--color-text-primary);border-color:var(--color-border-accent)}.carousel-btn--prev{left:-18px}.carousel-btn--next{right:-18px}.carousel-dots{justify-content:center;gap:var(--space-sm);margin-top:var(--space-xl);display:flex}.carousel-dot{border-radius:var(--radius-full);background-color:var(--color-text-muted);cursor:pointer;width:8px;height:8px;transition:background-color var(--transition-fast);border:none}.carousel-dot--active{background-color:var(--color-accent)}.experience{background-color:var(--color-bg-primary)}.experience-card{background-color:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2xl);gap:var(--space-2xl);margin-top:var(--space-xl);align-items:flex-start;display:flex}.experience-logo{object-fit:contain;border-radius:var(--radius-md);background-color:var(--color-bg-card);width:64px;height:64px;padding:var(--space-sm);flex-shrink:0}.experience-content h3{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--color-text-primary);margin-bottom:var(--space-xs)}.experience-date{font-size:var(--fs-sm);color:var(--color-accent);font-weight:var(--fw-medium);margin-bottom:var(--space-md)}.experience-content ul{padding-left:var(--space-xl);gap:var(--space-sm);flex-direction:column;list-style:outside;display:flex}.experience-content li{font-size:var(--fs-sm);color:var(--color-text-secondary);line-height:var(--lh-normal)}.contact{background-color:var(--color-bg-secondary)}.contact-inner{text-align:center;max-width:40rem;margin:0 auto}.contact-subtitle{font-size:var(--fs-base);color:var(--color-text-muted);margin-bottom:var(--space-3xl);line-height:var(--lh-relaxed)}.contact-grid{gap:var(--space-2xl);grid-template-columns:repeat(2,1fr);display:grid}.contact-item{align-items:center;gap:var(--space-md);flex-direction:column;display:flex}.contact-icon{background-color:var(--color-accent);border-radius:var(--radius-full);width:48px;height:48px;color:var(--color-text-primary);font-size:var(--fs-lg);transition:transform var(--transition-normal);justify-content:center;align-items:center;display:flex}.contact-icon:hover{transform:translateY(-4px)}.contact-item h3{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--color-text-primary)}.contact-item p,.contact-item a{font-size:var(--fs-sm);color:var(--color-text-muted);transition:color var(--transition-fast)}.contact-item a:hover{color:var(--color-accent)}.site-footer{background-color:var(--color-bg-primary);border-top:1px solid var(--color-border);padding:var(--space-2xl)var(--space-lg)}.footer-inner{max-width:72rem;margin:0 auto}.footer-top{margin-bottom:var(--space-xl);justify-content:space-between;align-items:center;display:flex}.footer-brand{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--color-text-primary)}.footer-tagline{font-size:var(--fs-sm);color:var(--color-text-muted);margin-top:var(--space-xs)}.footer-links{align-items:center;gap:var(--space-lg);display:flex}.footer-links a{font-size:var(--fs-sm);color:var(--color-text-muted);transition:color var(--transition-fast)}.footer-links a:hover{color:var(--color-text-primary)}.footer-bottom{border-top:1px solid var(--color-border);padding-top:var(--space-lg);text-align:center}.footer-bottom p{font-size:var(--fs-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em}@media (max-width:768px){.hero h1{font-size:var(--fs-xl)}.about-grid{text-align:center;grid-template-columns:1fr}.profile-image-wrapper{margin:0 auto}.skills-grid,.projects-grid{grid-template-columns:1fr}.carousel-slide{flex:0 0 100%}.experience-card{text-align:center;flex-direction:column;align-items:center}.experience-content ul{text-align:left}.contact-grid{grid-template-columns:1fr}.footer-top{gap:var(--space-lg);text-align:center;flex-direction:column}.navbar-links{display:none}.mobile-menu-btn{display:flex}.section-title{font-size:var(--fs-lg)}}@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}
