@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap);@import url(https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap);:root{--background-dark:#000;--background-card-dark:#1e293b;--text-primary-dark:#000;--text-secondary-dark:#cbd5e1;--accent-tertiary:#06b6d4;--background-light:#f8fafc;--background-card-light:#fff;--text-primary-light:#0f172a;--text-secondary-light:#334155;--shadow-sm:0 2px 4px #0000000d;--shadow-lg:0 8px 16px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--shadow-lg-up:0 -8px 16px #0000001a;--shadow-sm-light:0 2px 4px #00000008;--shadow-md-light:0 4px 8px #0000000f;--shadow-lg-light:0 8px 16px #00000014;--shadow-xl-light:0 20px 25px -5px #0000000d,0 10px 10px -5px #00000005;--shadow-lg-up-light:0 -8px 16px #00000014;--glass-background:#0f172ab3;--glass-background-light:#f8fafcb3;--glass-border:#ffffff1a;--glass-border-light:#0f172a1a;--border-radius-sm:0.25rem;--border-radius-xl:1.5rem;--transition-slow:0.5s ease;--z-header:1000;--z-modal:2000;--z-tooltip:3000;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-lg:2rem;--spacing-xl:4rem;--spacing-2xl:6rem;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;--font-mono:"JetBrains Mono","SF Mono","Fira Code",Menlo,Monaco,Consolas,"Courier New",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--content-width-sm:640px;--content-width-md:768px;--content-width-lg:1024px;--content-width-xl:1280px;--content-width-2xl:1536px;--background:var(--background-dark);--background-card:var(--background-card-dark);--text-primary:var(--text-primary-dark);--text-secondary:var(--text-secondary-dark);--glass-bg:var(--glass-background);--glass-border-color:var(--glass-border);--glow-color:#3b82f680;--bg-secondary-transparent:#1e293be6;--shadow-sm:var(--shadow-sm);--shadow-md:var(--shadow-md);--shadow-lg:var(--shadow-lg);--shadow-xl:var(--shadow-xl);--shadow-lg-up:var(--shadow-lg-up)}.light-theme{--background:var(--background-light);--background-card:var(--background-card-light);--text-primary:var(--text-primary-light);--text-secondary:var(--text-secondary-light);--glass-bg:var(--glass-background-light);--glass-border-color:var(--glass-border-light);--glow-color:#3b82f64d;--card-bg-transparent:#ffffffb3;--bg-secondary-transparent:#ffffffe6;--shadow-sm:var(--shadow-sm-light);--shadow-md:var(--shadow-md-light);--shadow-lg:var(--shadow-lg-light);--shadow-xl:var(--shadow-xl-light);--shadow-lg-up:var(--shadow-lg-up-light)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background);color:var(--text-primary);font-family:var(--font-sans);line-height:1.6;overflow-x:hidden;transition:background-color var(--transition-normal),color var(--transition-normal)}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2}h1,h2,h3,h4,h5,h6,p{margin-bottom:var(--spacing-md)}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-normal)}a:hover{color:var(--accent-secondary)}.button,button{border:none;border-radius:var(--border-radius-md);cursor:pointer;display:inline-block;font-size:var(--text-md);font-weight:600;outline:none;padding:var(--spacing-sm) var(--spacing-lg);text-align:center;transition:all var(--transition-normal)}.button-primary{background:var(--gradient-blue);box-shadow:var(--shadow-md);color:var(--text-primary-dark)}.button-primary:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.button-secondary{background:#0000;border:2px solid var(--accent-primary);color:var(--accent-primary)}.button-secondary:hover{background-color:var(--accent-primary);color:var(--text-primary-dark)}section{padding:var(--spacing-2xl) var(--spacing-lg)}.container{max-width:var(--content-width-xl);padding:0 var(--spacing-lg);width:100%}.card{background-color:var(--background-card);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}.glass{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:var(--glass-bg);border:1px solid var(--glass-border-color);border-radius:20px}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.text-gradient{background:var(--gradient-blue);-webkit-background-clip:text;background-clip:text;color:#0000}.text-gradient-purple{background:var(--gradient-purple);-webkit-background-clip:text;background-clip:text;color:#0000}@media (max-width:1280px){html{font-size:14px}}@media (max-width:768px){html{font-size:12px}section{padding:var(--spacing-xl) var(--spacing-md)}}.App{display:flex;flex-direction:column;min-height:100vh;position:relative}html{scroll-behavior:smooth;scroll-padding-top:80px}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--accent-primary);background-clip:padding-box;border:2px solid var(--background);border-radius:var(--border-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--accent-secondary)}::selection{background:var(--accent-primary);color:var(--text-primary-dark)}.animate-in{animation:fadeInUp .6s ease forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}a,button{transition:all var(--transition-normal)}a:focus,button:focus{outline:2px solid var(--accent-primary);outline-offset:2px}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mt-5{margin-top:var(--spacing-xl)}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:var(--spacing-xl)}.header{left:50%;max-width:var(--content-width-xl);padding:var(--spacing-sm) 0;position:fixed;top:var(--spacing-md);transform:translateX(-50%);transition:all var(--transition-normal),top .3s ease-in-out;width:calc(100% - var(--spacing-xl));z-index:var(--z-header)}.header-container{align-items:center;display:flex;height:4rem;justify-content:space-between;padding:0 var(--spacing-lg)}.header.scrolled{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:0 0 10px 10px;box-shadow:var(--shadow-md);top:0;width:100%}.nav-logo{align-items:center;display:flex;text-decoration:none;z-index:10}.logo-text{color:#0000;font-weight:800;transition:all var(--transition-normal)}.nav-logo:hover .logo-text{background:var(--gradient-purple);-webkit-background-clip:text;background-clip:text;transform:scale(1.05)}.nav{align-items:center;display:flex;gap:var(--spacing-lg)}.nav-links{display:flex;gap:var(--spacing-xl);list-style:none}.nav-links li a{color:var(--text-primary);font-size:var(--text-md);font-weight:500;padding:var(--spacing-xs) 0;position:relative;text-decoration:none;transition:color var(--transition-normal)}.nav-links li a:after{background:var(--gradient-blue);bottom:0;content:"";height:2px;left:0;position:absolute;transition:width var(--transition-normal);width:0}.nav-links li a:hover{color:var(--accent-primary)}.nav-links li a:hover:after{width:100%}.theme-toggle{align-items:center;background:#0000;border:none;border-radius:var(--border-radius-full);color:var(--text-primary);cursor:pointer;display:flex;justify-content:center;transition:all var(--transition-normal)}.theme-toggle:hover{background-color:#ffffff1a;transform:rotate(5deg)}.theme-toggle svg{stroke:var(--text-primary)}.mobile-menu-toggle{background:#0000;border:none;cursor:pointer;display:none;height:40px;position:relative;width:40px;z-index:10}.mobile-menu-toggle span{background-color:var(--text-primary);display:block;height:2px;margin:5px 0;transition:all var(--transition-normal);width:24px}.mobile-menu-toggle.active span:first-child{transform:rotate(45deg) translate(5px,5px)}.mobile-menu-toggle.active span:nth-child(2){opacity:0}.mobile-menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}@media (max-width:768px){.header-container{padding:0 var(--spacing-md)}.mobile-menu-toggle{display:block}.nav{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:var(--glass-bg);box-shadow:var(--shadow-lg);flex-direction:column;height:100vh;justify-content:center;padding:var(--spacing-xl);position:fixed;right:-100%;top:0;transition:right var(--transition-normal);width:70%}.nav.mobile-open{right:0}.nav-links{align-items:center;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.nav-links li{opacity:0;transition:opacity .3s ease}.nav.mobile-open .nav-links li{animation:navLinkFade .5s ease forwards calc(var(--delay)*50ms);opacity:1}.nav-links li:first-child{--delay:1}.nav-links li:nth-child(2){--delay:2}.nav-links li:nth-child(3){--delay:3}.nav-links li:nth-child(4){--delay:4}.nav-links li a{font-size:var(--text-xl)}}.header{animation:fadeIn .5s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}@keyframes navLinkFade{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.header.hidden{top:-100px}.header.scrolled{animation:none;transform:translateX(-50%)}.hero{align-items:center;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:0 var(--spacing-lg);position:relative}.hero-background{height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity 1s ease,transform .5s ease;width:100%;z-index:-1}.hero-background.animate-in{opacity:1}.hero-gradient-1{animation:pulse 8s infinite alternate;background:radial-gradient(circle,#3b82f626 0,#3b82f600 70%);height:600px;right:-100px;top:-200px;width:600px}.hero-gradient-1,.hero-gradient-2{border-radius:50%;filter:blur(50px);position:absolute}.hero-gradient-2{animation:pulse 10s infinite alternate-reverse;background:radial-gradient(circle,#8b5cf626 0,#8b5cf600 70%);bottom:200px;height:500px;left:-100px;width:500px}.hero-gradient-3{animation:pulse 12s infinite alternate;background:radial-gradient(circle,#06b6d41a 0,#06b6d400 70%);border-radius:50%;filter:blur(40px);height:300px;left:30%;position:absolute;top:40%;width:300px}.hero-content{max-width:var(--content-width-lg);position:relative;text-align:center;width:100%;z-index:1}.hero-title{font-size:var(--text-6xl);margin-bottom:var(--spacing-md);opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.hero-title.animate-in{opacity:1;transform:translateY(0)}.hero-subtitle{color:var(--text-secondary);font-size:var(--text-3xl);margin-bottom:var(--spacing-xl);opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.hero-subtitle.animate-in{opacity:1;transform:translateY(0)}.hero-buttons{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.hero-buttons.animate-in{opacity:1;transform:translateY(0)}.hero-button{align-items:center;display:flex;gap:var(--spacing-sm)}.hero-button svg{transition:transform var(--transition-normal)}.hero-button:hover svg{transform:translateY(3px)}.hero-scroll-indicator{align-items:center;animation:fadeIn 1s ease 1.5s forwards;bottom:var(--spacing-md);display:flex;flex-direction:column;left:50%;opacity:0;position:fixed;transform:translateX(-50%);z-index:10}.mouse{border:2px solid var(--text-secondary);border-radius:20px;display:flex;height:40px;justify-content:center;margin-bottom:var(--spacing-sm);position:relative;width:26px}.wheel{animation:scroll 2s infinite;background-color:var(--accent-primary);border-radius:2px;height:8px;position:absolute;top:6px;width:4px}.arrow{align-items:center;display:flex;flex-direction:column;gap:5px}.arrow span{animation:arrow 2s infinite;border-bottom:2px solid var(--text-secondary);border-right:2px solid var(--text-secondary);display:block;height:10px;opacity:0;transform:rotate(180deg);width:10px}.arrow span:first-child{animation-delay:0s}.arrow span:nth-child(2){animation-delay:.2s}.arrow span:nth-child(3){animation-delay:.4s}@keyframes arrow{0%{opacity:0;transform:rotate(45deg) translate(0)}50%{opacity:1}to{opacity:0;transform:rotate(45deg) translate(0)}}@media (max-width:1024px){.hero-title{font-size:var(--text-5xl)}.hero-subtitle{font-size:var(--text-2xl)}}@media (max-width:768px){.hero{padding:0 var(--spacing-md);text-align:center}.hero-title{font-size:var(--text-4xl)}.hero-subtitle{font-size:var(--text-xl)}.hero-buttons{justify-content:center}.hero-scroll-indicator{display:none}}@media (max-width:480px){.hero-buttons{flex-direction:column;width:100%}.hero-button,.hero-button-secondary{justify-content:center;width:100%}}.text-type{display:inline-block;white-space:pre-wrap}.text-type__content{color:var(--text-primary)!important}.text-type__cursor{display:inline-block;margin-left:.25rem;opacity:1}.text-type__cursor--hidden{display:none}.projects{color:var(--text-primary);overflow:hidden;padding:var(--spacing-2xl) var(--spacing-lg);position:relative}.projects-title{font-size:var(--text-4xl);margin-bottom:var(--spacing-xl);text-align:center}.projects-title .text-gradient span{-webkit-text-fill-color:#0000;background:var(--gradient-purple);-webkit-background-clip:text;background-clip:text;display:inline-block;opacity:0;transform:translateY(20px) scale(.8);transition:opacity .5s ease,transform .5s ease}.projects-title.animate-in .text-gradient span{opacity:1;transform:translateY(0) scale(1)}.projects-grid{margin:0 auto;max-width:var(--content-width-xl)}.project-card:before{z-index:1}.project-card:before,.project-overlay{height:100%;left:0;top:0;width:100%}.project-title{font-size:var(--text-xl)}.project-description{font-size:var(--text-md)}.projects-view-more{display:flex;justify-content:center;margin-top:var(--spacing-xl)}.projects-view-more .button{border-radius:var(--border-radius-md);font-size:var(--text-lg);padding:var(--spacing-md) var(--spacing-lg);text-decoration:none;transition:all var(--transition-normal)}.projects-view-more .button-primary{background:var(--gradient-blue);border:none;color:var(--text-primary-dark)}.projects-view-more .button-primary:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.project-tag{font-size:var(--text-xs)}@media (max-width:1024px){.projects-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:768px){.projects{padding:var(--spacing-xl) var(--spacing-md)}.projects-title{font-size:var(--text-3xl)}.project-content{padding:var(--spacing-md)}}@media (max-width:480px){.projects-grid{grid-template-columns:1fr}.project-image-container{height:180px}}.project-modal{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#000000b3;display:flex;height:100%;justify-content:center;left:0;opacity:0;padding:var(--spacing-md);position:fixed;top:0;transition:opacity var(--transition-normal);width:100%;z-index:var(--z-modal)}.project-modal.show{opacity:1}.project-modal-content{background-color:var(--background-card);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;max-width:900px;opacity:0;overflow-y:auto;position:relative;transform:translateY(20px);transition:transform var(--transition-normal),opacity var(--transition-normal);width:100%}.project-modal-content.show{opacity:1;transform:translateY(0)}.project-modal-close{align-items:center;background:#0000004d;border:none;color:var(--text-primary);cursor:pointer;display:flex;justify-content:center;padding:var(--spacing-xs);position:absolute;right:var(--spacing-md);top:var(--spacing-md);transition:background-color var(--transition-fast);z-index:10}.project-modal-close:hover{background-color:#ffffff1a}.project-modal-image{height:100%;object-fit:cover;object-position:center;width:100%}.project-modal-body{padding:var(--spacing-xl)}.project-modal-title{color:var(--text-primary);font-size:var(--text-2xl);margin-bottom:var(--spacing-md)}.project-modal-technologies{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg)}.project-modal-tag{background:var(--gradient-blue);border-radius:var(--border-radius-full);color:var(--text-primary);font-size:.8rem;font-weight:500;padding:.3rem .8rem}.project-modal-description,.project-modal-details,.project-modal-highlights,.project-modal-summary{margin-bottom:var(--spacing-lg)}.project-modal-description h3,.project-modal-details h3,.project-modal-highlights h3,.project-modal-summary h3{color:var(--accent-primary);font-size:var(--text-lg);margin-bottom:var(--spacing-sm)}.project-modal-description-text{line-height:1.6;margin-bottom:1rem;white-space:pre-wrap}.project-modal-tech-list{display:flex;flex-direction:column;flex-wrap:wrap;list-style:none;padding-left:var(--spacing-md)}.project-modal-tech-item{align-items:center;display:flex;gap:var(--spacing-xs)}.project-modal-tech-icon{color:var(--accent-primary);font-size:1.2rem}.project-modal-tech-description{color:var(--text-secondary);font-size:.95rem;font-style:italic;margin-top:var(--spacing-md)}.project-modal-highlights ul{list-style:none;padding-left:var(--spacing-md)}.project-modal-highlights li{margin-bottom:var(--spacing-xs);padding-left:var(--spacing-md);position:relative}.project-modal-highlights li:before{background:var(--accent-primary);border-radius:50%;content:"";height:6px;left:0;position:absolute;top:.7em;width:6px}.project-modal-footer{border-top:1px solid var(--glass-border);display:flex;justify-content:flex-end;padding:var(--spacing-lg) var(--spacing-xl)}.project-modal-button{align-items:center;background:var(--gradient-blue);border-radius:var(--border-radius-md);color:var(--text-primary-dark);display:flex;font-weight:500;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.project-modal-button:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}@media (max-width:768px){.project-modal-content{max-height:95vh}.project-modal-body{padding:var(--spacing-lg)}.project-modal-tech-list{flex-direction:column}}@media (max-width:480px){.project-modal-body{padding:var(--spacing-md)}.project-modal-tech-list{flex-direction:column}.project-modal-footer{padding:var(--spacing-md)}}.technologies{align-items:center;display:flex;justify-content:center;min-height:50vh;overflow:hidden;padding:var(--spacing-2xl) 0;position:relative}.technologies-background{height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}.technologies-gradient-1{animation:float 15s infinite alternate;background:radial-gradient(circle,#8b5cf626 0,#8b5cf600 70%);border-radius:50%;filter:blur(50px);height:300px;position:absolute;right:300px;top:35px;width:300px}.technologies-gradient-2{animation:float 20s infinite alternate-reverse;background:radial-gradient(circle,#06b6d426 0,#06b6d400 70%);border-radius:50%;bottom:68px;filter:blur(40px);height:200px;left:50px;position:absolute;width:200px}.technologies-container{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:var(--content-width-xl);padding:0 var(--spacing-lg);width:100%}.technologies-title{font-size:var(--text-4xl);margin-bottom:var(--spacing-xl);opacity:0;text-align:center;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.technologies-title.animate-in{opacity:1;transform:translateY(0)}.technologies-slider-container{opacity:0;overflow:hidden;padding:var(--spacing-lg) 0;position:relative;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease;width:100%}.technologies-slider-container.animate-in{opacity:1;transform:translateY(0)}.technologies-slider{animation:scroll 30s linear infinite;display:flex;width:max-content}@keyframes scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.technology-item{align-items:center;display:flex;flex-direction:column;margin:0 var(--spacing-lg);transition:transform var(--transition-normal)}.technology-item:hover{transform:translateY(-10px)}.technology-icon-container{align-items:center;background:var(--glass-bg);border:1px solid var(--glass-border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);display:flex;height:80px;justify-content:center;margin-bottom:var(--spacing-sm);padding:var(--spacing-sm);transition:all var(--transition-normal);width:80px}.technology-item:hover .technology-icon-container{border-color:var(--accent-primary);box-shadow:var(--shadow-lg);transform:scale(1.05)}.technology-icon{filter:grayscale(30%);height:100%;object-fit:contain;transition:filter var(--transition-normal),transform var(--transition-normal);width:100%}.technology-item:hover .technology-icon{filter:grayscale(0);transform:scale(1.1)}.technology-name{color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;margin-top:var(--spacing-xs);transition:color var(--transition-normal)}.technology-item:hover .technology-name{color:var(--accent-primary)}@media (max-width:768px){.technologies{padding:var(--spacing-xl) 0}.technologies-title{font-size:var(--text-3xl)}.technology-icon-container{height:60px;width:60px}}@media (max-width:480px){.technologies-title{font-size:var(--text-2xl)}.technology-icon-container{height:50px;width:50px}.technology-name{font-size:var(--text-xs)}.technology-item{margin:0 var(--spacing-md)}}.about{color:var(--text-primary);overflow:hidden;padding:var(--spacing-2xl) var(--spacing-lg);position:relative}.about-background{height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:0}.about-gradient-1{animation:float 15s ease-in-out infinite alternate;background:var(--gradient-purple);height:50%;right:10%;top:25%;width:50%}.about-gradient-1,.about-gradient-2{border-radius:50%;filter:blur(80px);opacity:.15;position:absolute}.about-gradient-2{animation:float 20s ease-in-out infinite alternate-reverse;background:var(--gradient-blue);bottom:20%;height:40%;left:-10%;width:40%}.about-container{margin:0 auto;max-width:var(--content-width-xl);position:relative;width:100%;z-index:1}.about-title{font-size:var(--text-4xl);margin-bottom:var(--spacing-xl);text-align:center}.about-title .word-wrapper{display:inline-block;margin-right:.2em}.about-title span{display:inline-block;opacity:0;transform:translateY(20px) scale(.8);transition:opacity .5s ease,transform .5s ease}.about-title.animate-in span{opacity:1;transform:translateY(0) scale(1)}.about-title .text-gradient span{-webkit-text-fill-color:#0000;background:var(--gradient-purple);background-clip:text;-webkit-background-clip:text}.about-content-wrapper{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:1fr 1fr}.about-content{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background-color:var(--background-card);border:1px solid var(--glass-border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);opacity:0;padding:var(--spacing-xl);transform:translateX(-20px);transition:all var(--transition-normal)}.about-content.animate-in{animation:slideInLeft .6s ease forwards}.about-content p{color:var(--text-secondary);font-size:var(--text-md);line-height:1.8;margin-bottom:var(--spacing-md)}.about-card{align-items:center;background-color:var(--background-card-hover);border-left:4px solid var(--accent-primary);border-radius:var(--border-radius-md);display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg);padding:var(--spacing-md);transition:all var(--transition-normal)}.about-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}.about-icon{color:var(--accent-primary);flex-shrink:0;height:40px;width:40px}.about-highlight{color:var(--text-primary);font-size:var(--text-md);font-style:italic;margin:0}.about-skills{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background-color:var(--background-card);border:1px solid var(--glass-border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);opacity:0;padding:var(--spacing-xl);transform:translateX(20px);transition:all var(--transition-normal)}.about-skills.animate-in{animation:slideInRight .6s ease forwards}.skills-title{color:var(--text-primary);display:inline-block;font-size:var(--text-xl);margin-bottom:var(--spacing-lg);position:relative}.skills-title:after{background:var(--gradient-blue);bottom:-5px;content:"";height:3px;left:0;position:absolute;transition:width var(--transition-normal);width:40px}.about-skills:hover .skills-title:after{width:100%}.skill-item{margin-bottom:var(--spacing-md)}.skill-info{display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs)}.skill-name{color:var(--text-primary);font-weight:500}.skill-percentage{color:var(--accent-primary);font-weight:600}.skill-bar{background-color:#3b82f61a;height:8px;overflow:hidden}.skill-bar,.skill-progress{border-radius:var(--border-radius-full)}.skill-progress{background:var(--gradient-blue);height:100%;transition:width 1s ease;width:0}@media (max-width:1024px){.about{padding:var(--spacing-xl) var(--spacing-lg)}}@media (max-width:768px){.about-content-wrapper{gap:var(--spacing-lg);grid-template-columns:1fr}.about-title{font-size:var(--text-3xl)}.about-content,.about-skills{padding:var(--spacing-lg)}.about-content.animate-in,.about-skills.animate-in{animation:slideUp .6s ease forwards}.about-skills.animate-in{animation-delay:.2s}}@media (max-width:480px){.about{padding:var(--spacing-xl) var(--spacing-md)}.about-content p{font-size:var(--text-sm)}.about-card{flex-direction:column;text-align:center}.skills-title{font-size:var(--text-lg)}}.contact{color:var(--text-primary);overflow:hidden;padding:var(--spacing-2xl) var(--spacing-lg);position:relative}.contact-background{height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:0}.contact-gradient-1{animation:float 15s ease-in-out infinite alternate;background:var(--gradient-blue);height:50%;right:10%;top:20%;width:50%}.contact-gradient-1,.contact-gradient-2{border-radius:50%;filter:blur(80px);opacity:.15;position:absolute}.contact-gradient-2{animation:float 20s ease-in-out infinite alternate-reverse;background:var(--gradient-purple);bottom:5%;height:40%;left:-10%;width:40%}@keyframes float{0%{transform:translate(0) rotate(0deg)}to{transform:translate(5%,5%) rotate(10deg)}}.contact-container{margin:0 auto;max-width:var(--content-width-xl);position:relative;width:100%;z-index:1}.contact-title{font-size:var(--text-4xl);margin-bottom:var(--spacing-xl);text-align:center}.contact-title .word-wrapper{display:inline-block;margin-right:.2em}.contact-title span{display:inline-block;opacity:0;transform:translateY(20px) scale(.8);transition:opacity .5s ease,transform .5s ease}.contact-title.animate-in span{opacity:1;transform:translateY(0) scale(1)}.contact-title .text-gradient span{-webkit-text-fill-color:#0000;background:var(--gradient-blue);background-clip:text;-webkit-background-clip:text}.contact-content{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:1fr 1fr}.contact-info{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background-color:var(--background-card);border:1px solid var(--glass-border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);opacity:0;padding:var(--spacing-xl);transform:translateX(-20px);transition:all var(--transition-normal)}.contact-info.animate-in{animation:slideInLeft .6s ease forwards}.contact-info h3{color:var(--text-primary);display:inline-block;font-size:var(--text-xl);margin-bottom:var(--spacing-md);position:relative}.contact-info h3:after{background:var(--gradient-blue);bottom:-5px;content:"";height:3px;left:0;position:absolute;transition:width var(--transition-normal);width:40px}.contact-info:hover h3:after{width:100%}.contact-info p{color:var(--text-secondary);font-size:var(--text-md);line-height:1.8;margin-bottom:var(--spacing-lg)}.contact-method{align-items:flex-start;border-radius:var(--border-radius-md);display:flex;gap:var(--spacing-md);padding:var(--spacing-md);transition:all var(--transition-normal)}.contact-method:hover{background-color:var(--background-card-hover);transform:translateX(5px)}.contact-icon{color:var(--accent-primary);flex-shrink:0;height:24px;width:24px}.contact-method h4{color:var(--text-primary);font-size:var(--text-md);margin-bottom:var(--spacing-xs)}.contact-method a{color:var(--accent-primary);font-size:var(--text-sm);text-decoration:none;transition:color var(--transition-normal)}.contact-method a:hover{color:var(--accent-secondary);text-decoration:underline}.contact-method p{color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:0}.social-links{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.social-link{align-items:center;background-color:var(--background-card-hover);border-radius:50%;color:var(--accent-primary);display:flex;height:40px;justify-content:center;transition:all var(--transition-normal);width:40px}.social-link svg{height:20px;width:20px}.social-link:hover{background-color:var(--accent-primary);box-shadow:var(--shadow-md);color:var(--text-primary-dark);transform:translateY(-5px)}.contact-form{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background-color:var(--background-card);border:1px solid var(--glass-border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--spacing-md);opacity:0;padding:var(--spacing-xl);transform:translateX(20px);transition:all var(--transition-normal)}.contact-form.animate-in{animation:slideInRight .6s ease forwards}.form-group{margin-bottom:var(--spacing-sm);position:relative}.form-group label{background-color:var(--background-card);color:var(--text-secondary);font-size:var(--text-xs);left:var(--spacing-sm);padding:0 var(--spacing-xs);pointer-events:none;position:absolute;top:0;transform:translateY(-50%)}.contact-form input,.contact-form textarea{background-color:var(--background-card-hover);border:1px solid var(--glass-border-color);border-radius:var(--border-radius-md);color:var(--text-primary);font-size:var(--text-md);padding:var(--spacing-md);transition:all var(--transition-normal);width:100%}.contact-form input.has-value,.contact-form input:focus,.contact-form textarea.has-value,.contact-form textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f633;outline:none}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--text-tertiary)}.contact-form button{margin-top:var(--spacing-sm)}.loading-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.form-error,.form-success{border-radius:var(--border-radius-md);font-size:var(--text-sm);margin-top:var(--spacing-sm);padding:var(--spacing-sm);text-align:center}.form-error{background-color:#ef44441a;border:1px solid #ef444433;color:#ef4444}.form-success{background-color:#22c55e1a;border:1px solid #22c55e33;color:#22c55e}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@media (max-width:1024px){.contact{padding:var(--spacing-xl) var(--spacing-lg)}}@media (max-width:768px){.contact-content{gap:var(--spacing-lg);grid-template-columns:1fr}.contact-title{font-size:var(--text-3xl)}.contact-form,.contact-info{padding:var(--spacing-lg)}.contact-form.animate-in,.contact-info.animate-in{animation:slideUp .6s ease forwards}.contact-form.animate-in{animation-delay:.2s}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}}@media (max-width:480px){.contact{padding:var(--spacing-xl) var(--spacing-md)}.social-links{justify-content:center}.contact-method{padding:var(--spacing-sm)}}.footer{border-top:1px solid var(--glass-border-color);box-shadow:var(--shadow-lg-up);color:var(--text-secondary);overflow:hidden;padding:var(--spacing-xl) var(--spacing-lg) var(--spacing-lg);position:relative}.footer-content{border-bottom:1px solid var(--glass-border-color);justify-content:space-between;margin:0 auto;max-width:var(--content-width-xl);padding-bottom:var(--spacing-lg)}.footer-content,.footer-logo{align-items:flex-start;display:flex}.footer-logo{flex-direction:column}.logo-text{-webkit-text-fill-color:#0000;background:var(--gradient-blue);-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-size:var(--text-2xl);font-weight:700;margin-bottom:var(--spacing-xs)}.footer-tagline{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.footer-links{display:flex;gap:var(--spacing-2xl)}.footer-links-column h4{color:var(--text-primary);display:inline-block;font-size:var(--text-md);margin-bottom:var(--spacing-md);position:relative}.footer-links-column h4:after{background:var(--gradient-blue);bottom:-5px;content:"";height:2px;left:0;position:absolute;transition:width var(--transition-normal);width:30px}.footer-links-column:hover h4:after{width:100%}.footer-links-column ul{list-style:none;margin:0;padding:0}.footer-links-column li{margin-bottom:var(--spacing-sm)}.footer-links-column a{color:var(--text-secondary);display:inline-block;font-size:var(--text-sm);position:relative;text-decoration:none;transition:color var(--transition-normal)}.footer-links-column a:after{background-color:var(--accent-primary);bottom:-2px;content:"";height:1px;left:0;position:absolute;transition:width var(--transition-normal);width:0}.footer-links-column a:hover{color:var(--accent-primary)}.footer-links-column a:hover:after{width:100%}.footer-social-link{align-items:center;display:flex!important;gap:var(--spacing-xs)}.footer-social-link svg{height:22px;transition:transform var(--transition-normal);width:22px}.footer-social-link:hover svg{transform:translateY(-2px)}.footer-bottom{align-items:center;display:flex;font-size:var(--text-xs);justify-content:space-between;margin:var(--spacing-lg) auto 0;max-width:var(--content-width-xl);padding-top:var(--spacing-md)}.footer-bottom p{color:var(--text-tertiary);margin:0}.footer-bottom-links{align-items:center;display:flex;gap:var(--spacing-sm)}.footer-bottom-link{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-decoration:none;transition:color var(--transition-normal)}.footer-bottom-links a:hover{color:var(--accent-primary)}.divider{color:var(--text-tertiary);opacity:.5}@media (max-width:768px){.footer-content{flex-direction:column;gap:var(--spacing-xl)}.footer-links{justify-content:space-between;width:100%}.footer-bottom{flex-direction:column;gap:var(--spacing-md);text-align:center}}@media (max-width:480px){.footer{padding:var(--spacing-lg) var(--spacing-md) var(--spacing-md)}.footer-links{flex-direction:column;gap:var(--spacing-lg)}.footer-bottom-links{flex-direction:column;gap:var(--spacing-xs)}.divider{display:none}}:root{--background:#0f172a;--text-primary:#f8fafc;--text-primary-dark:#f8fafc;--text-secondary:#94a3b8;--card-bg-transparent:#1e293bb3;--glass-border-color:#94a3b833;--glow-color:#3b82f626;--accent-primary:#3b82f6;--accent-secondary:#8b5cf6;--gradient-purple:linear-gradient(135deg,#8b5cf6,#d946ef);--gradient-blue:linear-gradient(135deg,#3b82f6,#06b6d4);--font-sans:"Inter",system-ui,sans-serif;--border-radius-md:0.5rem;--border-radius-lg:1rem;--border-radius-full:9999px;--transition-normal:0.3s ease;--transition-fast:0.2s ease;--spacing-xs:0.5rem;--spacing-sm:0.75rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2.5rem;--shadow-md:0 4px 8px #0000001a;--shadow-xl:0 8px 24px #0003}.projects-page{background-color:#0f172a;background-color:var(--background);color:#f8fafc;color:var(--text-primary);font-family:Inter,system-ui,sans-serif;font-family:var(--font-sans);min-height:100vh;overflow-x:hidden;position:relative}.animated-background{background-image:radial-gradient(circle at center,#94a3b833 1px,#0000 0);background-image:radial-gradient(circle at center,var(--glass-border-color) 1px,#0000 1px);background-size:2.5rem 2.5rem;inset:0;opacity:.3;pointer-events:none;position:fixed;z-index:0}.animated-background:before{background-image:radial-gradient(circle,#8b5cf6,#0000 60%);background-image:radial-gradient(circle,var(--accent-secondary),#0000 60%);border-radius:50%;content:"";filter:blur(150px);height:600px;left:var(--mouse-x);opacity:.15;position:absolute;top:var(--mouse-y);transform:translate(-50%,-50%);width:600px;will-change:left,top}.container{margin:0 auto;max-width:1280px;padding:0 2rem;position:relative;z-index:1}.filters-section,.projects-header{padding:4rem 0;text-align:center}.projects-header{padding-bottom:2rem;padding-top:8rem}.filters-section{border-bottom:1px solid #94a3b833;border-bottom:1px solid var(--glass-border-color);margin-bottom:4rem;padding-top:2rem}.projects-header h1{font-size:clamp(2.5rem,8vw,4rem);font-weight:800;line-height:1.1;margin-bottom:1rem}.projects-header .block{display:block}.projects-header .text-gradient{background:linear-gradient(135deg,#8b5cf6,#d946ef);background:var(--gradient-purple);-webkit-background-clip:text;background-clip:text;color:#0000}.filters-section p,.projects-header p{color:#94a3b8;color:var(--text-secondary);margin:0 auto;max-width:60ch}.filters-section h2{font-size:2rem;font-weight:700;margin-bottom:.5rem}.filters-section p{margin-bottom:2rem}.filters-controls{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.dropdown{position:relative}.dropdown-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#1e293bb3;background-color:var(--card-bg-transparent);border:1px solid #94a3b833;border:1px solid var(--glass-border-color);border-radius:.5rem;border-radius:var(--border-radius-md);color:#f8fafc;color:var(--text-primary);cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.6rem 1.2rem;transition:all .3s ease;transition:all var(--transition-normal)}.dropdown-button:hover{border-color:#3b82f6;border-color:var(--accent-primary)}.dropdown-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:var(--bg-secondary-transparent);border:1px solid #94a3b833;border:1px solid var(--glass-border-color);border-radius:1rem;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);display:none;left:50%;min-width:220px;opacity:0;padding:.75rem;position:absolute;top:110%;transform:translateX(-50%);transition:opacity .3s ease,visibility .3s ease,transform .3s ease;visibility:hidden;z-index:10}.dropdown:hover .dropdown-content{display:block;opacity:1;transform:translateX(-50%) translateY(-10px);visibility:visible}.dropdown-content button{background:#0000;border:none;border-radius:var(--border-radius-sm);color:#94a3b8;color:var(--text-secondary);cursor:pointer;display:block;padding:.6rem 1rem;text-align:left;text-decoration:none;transition:all .2s ease;width:100%}.dropdown-content button:hover{background-color:#3b82f6;background-color:var(--accent-primary);color:var(--text-on-accent);transform:translateX(5px)}.projects-grid{grid-gap:2.5rem;grid-gap:var(--spacing-xl);display:grid;gap:2.5rem;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));padding-bottom:4rem}.project-card{background-color:initial;border:1px solid #94a3b833;border:1px solid var(--glass-border-color);border-radius:1rem;border-radius:var(--border-radius-lg);box-shadow:0 4px 8px #0000001a;box-shadow:var(--shadow-md);display:flex;flex-direction:column;height:100%;opacity:0;overflow:hidden;position:relative;transform:translateY(30px);transition:all .3s ease;transition:all var(--transition-normal)}.project-card:before{background:radial-gradient(350px circle at var(--mouse-x) var(--mouse-y),#3b82f626,#0000 40%);background:radial-gradient(350px circle at var(--mouse-x) var(--mouse-y),var(--glow-color),#0000 40%);border-radius:1rem;border-radius:var(--border-radius-lg);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .3s ease-out;z-index:0}.project-card:hover:before{opacity:1}.project-card.animate-in{animation:slideUp .6s ease forwards}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.project-card:hover{border-color:#3b82f6;border-color:var(--accent-primary);box-shadow:0 8px 24px #0003;box-shadow:var(--shadow-xl);transform:translateY(-10px)}.project-image-container{height:200px;overflow:hidden;position:relative;z-index:2}.project-image{height:100%;object-fit:cover;transition:transform .3s ease;transition:transform var(--transition-normal);width:100%}.project-card:hover .project-image{transform:scale(1.05)}.project-overlay{background:linear-gradient(180deg,#0000001a,#0009);inset:0;opacity:0;position:absolute;transition:opacity .3s ease;transition:opacity var(--transition-normal)}.project-card:hover .project-overlay{opacity:1}.project-links{display:flex;gap:.5rem;gap:var(--spacing-xs)}.project-links a{align-items:center;background-color:#3b82f633;border-radius:50%;color:#3b82f6;color:var(--accent-primary);display:flex;height:36px;justify-content:center;opacity:1;transform:none;transition:all .3s ease;transition:all var(--transition-normal);width:36px}.project-links a:hover{background-color:#3b82f6;background-color:var(--accent-primary);color:#f8fafc;color:var(--text-primary-dark);transform:scale(1.1)}.project-card-header{align-items:center;display:flex;gap:.5rem;gap:var(--spacing-xs);justify-content:space-between;position:absolute;right:1rem;right:var(--spacing-md);top:1rem;top:var(--spacing-md);width:92%;z-index:3}.badge-category{background-color:#8b5cf647;border:1px solid #8b5cf6;border-radius:9999px;border-radius:var(--border-radius-full);color:#f8fafc;color:var(--text-primary-dark);font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase}.project-content{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#1e293bb3;background-color:var(--card-bg-transparent);border-top:1px solid #94a3b833;border-top:1px solid var(--glass-border-color);display:flex;flex-direction:column;flex-grow:1;padding:1.5rem;padding:var(--spacing-lg);padding-top:4rem;padding-top:calc(var(--spacing-lg) + 2.5rem);z-index:2}.project-title{color:#f8fafc;color:var(--text-primary);display:inline-block;font-size:1.25rem;margin-bottom:.75rem;margin-bottom:var(--spacing-sm);position:relative}.project-title:after{background:linear-gradient(135deg,#3b82f6,#06b6d4);background:var(--gradient-blue);bottom:-5px;content:"";height:3px;left:0;position:absolute;transition:width .3s ease;transition:width var(--transition-normal);width:40px}.project-card:hover .project-title:after{width:100%}.project-description{color:#94a3b8;color:var(--text-secondary);font-size:1rem}.project-description,.project-tags{margin-bottom:1rem;margin-bottom:var(--spacing-md)}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem;gap:var(--spacing-xs)}.project-tag{background-color:#3b82f61a;border-radius:9999px;border-radius:var(--border-radius-full);color:#3b82f6;color:var(--accent-primary);font-size:.75rem;font-weight:500;padding:4px 10px;transition:all .3s ease;transition:all var(--transition-normal)}.project-card:hover .project-tag{background-color:#3b82f633}.project-button{align-self:flex-start;margin-top:auto}.button.button-secondary{background:#0000;border:2px solid #3b82f6;border:2px solid var(--accent-primary);color:#3b82f6;color:var(--accent-primary);font-size:.9rem;padding:.5rem 1rem}.button.button-secondary:hover{background-color:#3b82f6;background-color:var(--accent-primary);color:#f8fafc;color:var(--text-primary-dark)}.pagination-container{align-items:center;display:flex;gap:.5rem;justify-content:center;padding:0 0 4rem}.pagination-arrow,.pagination-button{background-color:initial;border:1px solid #94a3b833;border:1px solid var(--glass-border-color);border-radius:.5rem;border-radius:var(--border-radius-md);color:#94a3b8;color:var(--text-secondary);cursor:pointer;display:grid;font-weight:500;height:40px;place-items:center;transition:all .2s ease;transition:all var(--transition-fast)}.pagination-button{min-width:40px;padding:0 .5rem}.pagination-arrow:hover,.pagination-button:hover{border-color:#3b82f6;border-color:var(--accent-primary);color:#f8fafc;color:var(--text-primary)}.pagination-button.active{background-color:#3b82f6;background-color:var(--accent-primary);border-color:#3b82f6;border-color:var(--accent-primary);color:#fff}.pagination-arrow:disabled{cursor:not-allowed;opacity:.4}.no-projects-found{background-color:#1e293bb3;background-color:var(--card-bg-transparent);border:1px dashed #94a3b833;border:1px dashed var(--glass-border-color);border-radius:1rem;border-radius:var(--border-radius-lg);margin:2rem auto;max-width:600px;padding:4rem 2rem;text-align:center}.no-projects-found button{background:linear-gradient(135deg,#3b82f6,#06b6d4);background:var(--gradient-blue);border:none;border-radius:.5rem;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;padding:.6rem 1.2rem;transition:all .3s ease;transition:all var(--transition-normal)}@media (max-width:768px){.container{padding:0 1rem}.projects-header{padding-top:9rem}.projects-grid{grid-template-columns:1fr}}
/*# sourceMappingURL=main.f3a0879d.css.map*/