.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0a192fd9;-webkit-backdrop-filter:blur(10px) saturate(180%);backdrop-filter:blur(10px) saturate(180%);transition:all .3s cubic-bezier(.4,0,.2,1);border-bottom:1px solid transparent}.header.scrolled{background:#0a192ff2;box-shadow:0 10px 30px -10px #020c1bb3;border-bottom-color:#64ffda1a}.nav{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 0}.logo{cursor:pointer;font-size:1.25rem;font-weight:600;color:var(--green);font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Droid Sans Mono,Source Code Pro,monospace;transition:all .3s ease}.logo:hover{color:var(--white);transform:translateY(-2px)}.nav-links{display:flex;list-style:none;gap:2rem;align-items:center;counter-reset:nav-counter}.nav-links a{font-weight:500;color:var(--slate);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;font-size:.8125rem;display:flex;align-items:center;gap:.5rem;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Droid Sans Mono,Source Code Pro,monospace;counter-increment:nav-counter}.nav-links a:before{content:"0" counter(nav-counter) ".";color:var(--green);margin-right:.25rem;font-weight:400}.nav-icon{display:none}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--green);transition:width .3s ease}.nav-links a:hover{color:var(--green)}.nav-links a:hover:after{width:100%}.mobile-menu-toggle{display:none;flex-direction:column;gap:5px;width:28px;height:28px;justify-content:center;align-items:center;background:transparent;border:none;cursor:pointer;padding:0;z-index:1001;position:relative}.mobile-menu-toggle span{width:24px;height:2px;background:var(--green);transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:2px;display:block;position:relative;transform-origin:center}.mobile-menu-toggle.active{gap:0}.mobile-menu-toggle.active span:nth-child(1){transform:rotate(45deg);position:absolute}.mobile-menu-toggle.active span:nth-child(2){opacity:0;transform:scale(0)}.mobile-menu-toggle.active span:nth-child(3){transform:rotate(-45deg);position:absolute}.mobile-menu-backdrop{position:fixed;top:0;left:0;width:100%;height:100vh;background:#0006;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:999;animation:fadeIn .3s ease}@media (max-width: 768px){.mobile-menu-toggle{display:flex;z-index:1002;position:relative}.header{z-index:1001}.header.menu-open{background:#0a192f!important;-webkit-backdrop-filter:blur(20px) saturate(180%)!important;backdrop-filter:blur(20px) saturate(180%)!important;border-bottom:1px solid rgba(100,255,218,.2)!important;box-shadow:0 10px 30px -10px #020c1be6!important}.nav-links{position:fixed;top:0;right:0;width:80%;max-width:400px;height:100vh;flex-direction:column;background:#0a192f;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);padding:5.5rem 2rem 2rem;gap:2rem;box-shadow:-10px 0 30px #00000080;border-left:1px solid rgba(100,255,218,.1);transform:translate(100%);opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000;justify-content:flex-start;align-items:flex-start;overflow-y:auto}.nav-links a{font-size:1.125rem;padding:.75rem 0;width:100%;color:var(--slate-lighter);border-bottom:1px solid rgba(100,255,218,.05)}.nav-links a:hover{color:var(--green);padding-left:.5rem}.nav-links a:before{display:none}.nav-links.active{transform:translate(0);opacity:1;visibility:visible;background:#0a192f}.nav-links a:after{display:none}.header.scrolled .nav-links.active,.header.menu-open .nav-links.active{background:#0a192f}}.hero{min-height:100vh;display:flex;align-items:center;justify-content:flex-start;position:relative;overflow:hidden;padding-top:80px;background:var(--bg-primary)}.hero-background{position:absolute;top:0;left:0;right:0;bottom:0;z-index:0;overflow:hidden}.gradient-orb{display:none}.hero-content{position:relative;z-index:1;text-align:left;max-width:1000px;margin:0}.hero-title{font-size:clamp(2.5rem,8vw,5rem);font-weight:600;line-height:1.1;margin-bottom:1.5rem;letter-spacing:-.02em;color:var(--slate-lighter)}.hero-title .greeting{font-size:clamp(1rem,2vw,1.25rem);font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Droid Sans Mono,Source Code Pro,monospace;color:var(--green);font-weight:400;display:inline-block;margin-bottom:1.25rem;overflow:hidden;border-right:2px solid var(--green);white-space:nowrap;animation:typing-greeting 1.5s steps(15,end) forwards,blink-cursor-greeting .75s step-end 1.5s infinite,hide-cursor-greeting .1s 2.2s forwards;width:0;opacity:0;animation-fill-mode:forwards}@keyframes typing-greeting{to{width:15ch;opacity:1}}@keyframes blink-cursor-greeting{0%,to{border-color:transparent}50%{border-color:var(--green)}}@keyframes hide-cursor-greeting{to{border-color:transparent}}.title-line{display:inline-block;overflow:hidden;white-space:nowrap;border-right:2px solid var(--slate-lighter)}.title-line:nth-child(2){animation:typing-line-1 1.2s steps(14,end) 2.3s forwards,hide-cursor-line-1 .1s 3.5s forwards;width:0;opacity:0}.title-line:nth-child(3){animation:typing-line-2 1.8s steps(30,end) 3.7s forwards,hide-cursor-line-2 .1s 5.5s forwards;width:0;opacity:0}@keyframes typing-line-1{to{width:14ch;opacity:1}}@keyframes typing-line-2{to{width:30ch;opacity:1}}@keyframes hide-cursor-line-1{to{border-color:transparent}}@keyframes hide-cursor-line-2{to{border-color:transparent}}.gradient-text{color:var(--slate-lighter);display:block;margin-top:.5rem}.gradient-text .name-highlight{color:var(--green)}.hero-subtitle{font-size:clamp(1.125rem,2vw,1.25rem);color:var(--slate);margin-bottom:3rem;font-weight:400;line-height:1.6;max-width:540px;opacity:0;animation:fade-in-up .8s ease-out 5.8s forwards}.gradient-word{color:var(--green);font-weight:500}.hero-buttons{display:flex;gap:1.25rem;justify-content:flex-start;flex-wrap:wrap;margin-top:1rem;opacity:0;animation:fade-in-up .8s ease-out 6.5s forwards}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.btn{padding:.875rem 2rem;font-size:1rem;font-weight:600;border-radius:.5rem;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem;justify-content:center}.btn-icon{font-size:1.125rem;transition:transform .3s ease}.btn:hover .btn-icon{transform:scale(1.1) rotate(5deg)}.btn-primary{background:transparent;color:var(--green);border:1px solid var(--green);position:relative;overflow:hidden;font-weight:400;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Droid Sans Mono,Source Code Pro,monospace;font-size:.875rem;padding:1rem 1.75rem;transition:all .3s ease}.btn-primary:before{content:"";position:absolute;top:0;left:0;width:0;height:100%;background:var(--green-tint);transition:width .3s ease;z-index:-1}.btn-primary:hover:before{width:100%}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 15px #64ffda33}.btn-secondary{background:transparent;color:var(--slate);border:1px solid var(--slate);font-weight:400;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Droid Sans Mono,Source Code Pro,monospace;font-size:.875rem;padding:1rem 1.75rem;transition:all .3s ease}.btn-secondary:hover{border-color:var(--green);color:var(--green);transform:translateY(-2px);background:var(--green-tint);box-shadow:0 5px 15px #64ffda33}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:1}.scroll-icon{font-size:1.5rem;color:var(--green);animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width: 768px){.hero{min-height:90vh;padding-top:100px;padding-bottom:2rem}.hero-content{text-align:left;padding:0 1rem;width:100%}.hero-title{font-size:clamp(1.75rem,8vw,2.5rem);line-height:1.2;margin-bottom:1.25rem;word-wrap:break-word;overflow-wrap:break-word}.hero-title .greeting{font-size:clamp(.875rem,3vw,1rem);margin-bottom:1rem;display:block}.title-line{display:block;white-space:normal;border-right:none;word-wrap:break-word;overflow-wrap:break-word}.title-line:nth-child(2),.title-line:nth-child(3){animation:none;width:auto;opacity:1}.gradient-text{display:block;margin-top:.25rem}.hero-subtitle{max-width:100%;font-size:clamp(.9375rem,3.5vw,1.0625rem);line-height:1.7;margin-bottom:2rem;word-wrap:break-word;overflow-wrap:break-word}.hero-buttons{justify-content:flex-start;flex-direction:column;align-items:stretch;margin-top:.5rem}.btn{width:100%;text-align:center;padding:.875rem 1.5rem;font-size:.875rem}.scroll-indicator{bottom:1.5rem}.scroll-icon{font-size:1.25rem}}@media (max-width: 480px){.hero{padding-top:90px;padding-bottom:1.5rem}.hero-content{padding:0 .75rem}.hero-title{font-size:clamp(1.5rem,7vw,2rem);margin-bottom:1rem}.hero-subtitle{font-size:clamp(.875rem,3vw,1rem);margin-bottom:1.5rem}.btn{padding:.75rem 1.25rem;font-size:.8125rem}}.platforms{background:var(--bg-primary);border-top:1px solid rgba(100,255,218,.1);border-bottom:1px solid rgba(100,255,218,.1)}.platforms-content{text-align:center}.platforms-title{font-size:.8125rem;font-weight:400;text-transform:uppercase;letter-spacing:.1em;color:var(--slate);margin-bottom:2rem;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Droid Sans Mono,Source Code Pro,monospace}.platforms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;max-width:900px;margin:0 auto}.platform-card{padding:2rem 1.5rem;background:var(--navy);border-radius:.25rem;border:1px solid rgba(100,255,218,.1);transition:all .3s ease;cursor:pointer}.platform-card:hover{transform:translateY(-3px);border-color:var(--green);background:var(--navy-light)}.platform-icon{font-size:2.5rem;margin-bottom:1rem;transition:transform .3s ease;color:var(--green);display:flex;justify-content:center}.platform-card:hover .platform-icon{transform:translateY(-3px)}.platform-name{font-size:1rem;font-weight:600;color:var(--slate-lighter);margin-bottom:.5rem}.platform-description{font-size:.8125rem;color:var(--slate);font-weight:400;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Droid Sans Mono,Source Code Pro,monospace}@media (max-width: 768px){.platforms-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.platform-card{padding:1.5rem 1rem}}.about{background:var(--bg-primary)}.section-header{display:flex;align-items:center;margin-bottom:3rem}.section-title{font-size:clamp(1.75rem,5vw,2.5rem);font-weight:600;margin-bottom:0;color:var(--slate-lighter);letter-spacing:-.02em;display:flex;align-items:center}.section-subtitle{font-size:1rem;color:var(--slate);max-width:600px;margin:1rem 0 0;text-align:left}.about-content{display:grid;grid-template-columns:2fr 1fr;gap:3rem;align-items:start}.about-text{display:flex;flex-direction:column;gap:1.5rem}.about-description{font-size:1rem;line-height:1.7;color:var(--slate);margin-bottom:1rem}.about-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;max-width:600px}.stat-item{text-align:center;padding:1.5rem;background:var(--navy);border-radius:.25rem;border:1px solid rgba(100,255,218,.1);transition:transform .3s ease,border-color .3s ease;position:relative}.stat-icon{font-size:2rem;color:var(--green);margin-bottom:.75rem;display:flex;justify-content:center;transition:transform .3s ease}.stat-item:hover .stat-icon{transform:scale(1.1)}.stat-item:hover{transform:translateY(-3px);border-color:var(--green)}.stat-number{font-size:2rem;font-weight:600;color:var(--slate-lighter);margin-bottom:.5rem}.stat-label{font-size:.8125rem;color:var(--slate);font-weight:400;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Droid Sans Mono,Source Code Pro,monospace}@media (max-width: 968px){.about-content{grid-template-columns:1fr;gap:3rem}.about-stats{grid-template-columns:repeat(3,1fr)}}@media (max-width: 640px){.about-stats{grid-template-columns:1fr}}.team{background:var(--bg-primary)}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem;max-width:900px;margin:0 auto}.team-card{background:var(--navy);border-radius:.25rem;padding:2rem;text-align:left;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(100,255,218,.1)}.team-card:hover{transform:translateY(-5px);border-color:var(--green)}.team-avatar{margin-bottom:1.5rem;display:flex;justify-content:center}.avatar-placeholder{width:100px;height:100px;border-radius:0;background:var(--navy-light);border:1px solid rgba(100,255,218,.2);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:600;color:var(--green);font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Droid Sans Mono,Source Code Pro,monospace}.team-info{display:flex;flex-direction:column;gap:.75rem}.team-name{font-size:1.25rem;font-weight:600;color:var(--slate-lighter)}.team-role{font-size:.875rem;color:var(--green);font-weight:400;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Droid Sans Mono,Source Code Pro,monospace}.team-description{font-size:.875rem;color:var(--slate);line-height:1.6;margin-top:.5rem}.team-skills{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1rem}.skill-tag{padding:.25rem .5rem;background:transparent;border:1px solid rgba(100,255,218,.1);border-radius:0;font-size:.75rem;color:var(--slate);font-weight:400;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Droid Sans Mono,Source Code Pro,monospace;transition:all .3s ease;display:flex;align-items:center;gap:.375rem}.skill-icon{font-size:.75rem;transition:transform .3s ease}.skill-tag:hover .skill-icon{transform:translateY(-2px)}.skill-tag:hover{border-color:var(--green);color:var(--green);transform:scale(1)}@media (max-width: 640px){.team-grid{grid-template-columns:1fr}.team-card{padding:2rem}}.project-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0a192ff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10000;display:flex;align-items:flex-start;justify-content:center;padding:3rem 2rem 2rem;animation:fadeIn .3s ease;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(100,255,218,.3) transparent}.project-modal-overlay::-webkit-scrollbar{width:8px}.project-modal-overlay::-webkit-scrollbar-track{background:transparent}.project-modal-overlay::-webkit-scrollbar-thumb{background:#64ffda33;border-radius:4px;transition:background .3s ease}.project-modal-overlay::-webkit-scrollbar-thumb:hover{background:#64ffda66}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.project-modal-content{position:relative;background:var(--navy-dark);border:1px solid rgba(100,255,218,.1);border-radius:.25rem;max-width:1200px;max-height:calc(100vh - 6rem);width:100%;margin-top:2rem;overflow-y:auto;box-shadow:0 20px 60px #000c;animation:slideUp .3s ease;scrollbar-width:thin;scrollbar-color:rgba(100,255,218,.5) transparent}.project-modal-content::-webkit-scrollbar{width:8px}.project-modal-content::-webkit-scrollbar-track{background:transparent;border-left:1px solid rgba(100,255,218,.1)}.project-modal-content::-webkit-scrollbar-thumb{background:#64ffda4d;border-radius:4px;transition:background .3s ease}.project-modal-content::-webkit-scrollbar-thumb:hover{background:#64ffda99}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close-btn{position:absolute;top:1rem;right:1rem;width:40px;height:40px;border-radius:0;background:transparent;border:1px solid rgba(100,255,218,.2);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:1.5rem;z-index:10001;transition:all .3s ease;cursor:pointer}.modal-close-btn:hover{background:var(--green-tint);border-color:var(--green);transform:rotate(90deg)}.modal-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:0;background:transparent;border:1px solid rgba(100,255,218,.2);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:1.5rem;z-index:10001;transition:all .3s ease;cursor:pointer}.modal-nav-btn:hover{background:var(--green-tint);border-color:var(--green);transform:translateY(-50%) scale(1.05)}.modal-nav-prev{left:1rem}.modal-nav-next{right:1rem}.modal-header{padding:2.5rem 2rem 1.5rem;border-bottom:1px solid rgba(100,255,218,.1);position:sticky;top:0;background:var(--navy-dark);z-index:1000}.modal-title{font-size:2rem;font-weight:600;margin-bottom:.5rem;color:var(--slate-lighter)}.modal-category{font-size:.8125rem;text-transform:uppercase;letter-spacing:.1em;color:var(--green);font-weight:400;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Droid Sans Mono,Source Code Pro,monospace}.modal-body{padding:2rem}.modal-image-container{margin-bottom:2rem}.modal-main-image-wrapper{position:relative;width:100%;margin-bottom:1rem;border-radius:.25rem;overflow:hidden;background:var(--navy);border:1px solid rgba(100,255,218,.1)}.modal-main-image{width:100%;max-height:600px;object-fit:contain;display:block;transition:opacity .3s ease}.modal-image-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;background:#0a192fe6;border:1px solid rgba(100,255,218,.3);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:1.5rem;cursor:pointer;transition:all .3s ease;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-image-nav-btn:hover{background:var(--green-tint);border-color:var(--green);transform:translateY(-50%) scale(1.1)}.modal-image-prev{left:1rem}.modal-image-next{right:1rem}.modal-image-counter{position:absolute;bottom:1rem;right:1rem;background:#0a192fe6;border:1px solid rgba(100,255,218,.3);color:var(--slate-lighter);padding:.5rem 1rem;border-radius:0;font-size:.8125rem;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Droid Sans Mono,Source Code Pro,monospace;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10}.modal-thumbnails{display:flex;gap:.75rem;overflow-x:auto;padding:.5rem 0;margin-bottom:1rem;scrollbar-width:thin;scrollbar-color:var(--green) transparent}.modal-thumbnails::-webkit-scrollbar{height:6px}.modal-thumbnails::-webkit-scrollbar-track{background:var(--navy)}.modal-thumbnails::-webkit-scrollbar-thumb{background:var(--green);border-radius:3px}.modal-thumbnail-btn{background:transparent;border:2px solid transparent;padding:0;cursor:pointer;transition:all .3s ease;flex-shrink:0;border-radius:.25rem;overflow:hidden}.modal-thumbnail{width:80px;height:80px;object-fit:cover;display:block;transition:transform .3s ease}.modal-thumbnail-btn:hover .modal-thumbnail{transform:scale(1.1)}.modal-thumbnail-btn:hover{border-color:var(--green)}.modal-thumbnail-btn.active{border-color:var(--green);box-shadow:0 0 0 2px var(--green-tint)}.modal-image-indicators{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}.modal-indicator{width:8px;height:8px;border-radius:50%;background:#64ffda4d;border:none;cursor:pointer;transition:all .3s ease;padding:0}.modal-indicator:hover{background:#64ffda80;transform:scale(1.2)}.modal-indicator.active{background:var(--green);width:24px;border-radius:4px}.modal-placeholder{width:100%;height:400px;background:var(--navy);border:1px solid rgba(100,255,218,.1);border-radius:.25rem;display:flex;align-items:center;justify-content:center;margin-bottom:2rem}.modal-placeholder-icon{font-size:6rem;color:var(--green);opacity:.3}.modal-info{display:flex;flex-direction:column;gap:1.5rem}.modal-description{font-size:1rem;line-height:1.7;color:var(--slate)}.modal-tags{display:flex;flex-wrap:wrap;gap:.5rem}.modal-tag{padding:.375rem .75rem;background:transparent;border:1px solid rgba(100,255,218,.2);border-radius:0;font-size:.75rem;color:var(--slate);font-weight:400;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Droid Sans Mono,Source Code Pro,monospace;transition:all .3s ease}.modal-tag:hover{border-color:var(--green);color:var(--green)}@media (max-width: 768px){.project-modal-overlay{padding:5rem 1rem 2rem;align-items:flex-start}.project-modal-content{max-height:calc(100vh - 7rem);margin-top:0;border-radius:.5rem}.modal-close-btn{top:.75rem;right:.75rem;width:36px;height:36px;font-size:1.25rem}.modal-header{padding:1.5rem 1rem 1rem}.modal-body{padding:1.5rem 1rem}.modal-title{font-size:1.5rem;line-height:1.3}.modal-main-image{max-height:300px}.modal-image-nav-btn{width:40px;height:40px;font-size:1.25rem}.modal-image-prev{left:.5rem}.modal-image-next{right:.5rem}.modal-thumbnail{width:60px;height:60px}.modal-description{font-size:.9375rem}}.projects{background:var(--bg-primary)}.project-filters{display:flex;justify-content:center;gap:1rem;margin-bottom:3rem;flex-wrap:wrap}.filter-btn{padding:.5rem 1rem;font-size:.8125rem;font-weight:400;color:var(--slate);border-radius:0;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;border-bottom:2px solid transparent;background:transparent;display:flex;align-items:center;gap:.5rem;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Droid Sans Mono,Source Code Pro,monospace}.filter-icon{display:none}.filter-btn:hover{color:var(--green);background:transparent;transform:translateY(0)}.filter-btn.active{background:transparent;color:var(--green);border-bottom-color:var(--green);font-weight:400;transform:scale(1)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem}.project-card{background:var(--navy);border-radius:.25rem;overflow:hidden;border:1px solid rgba(100,255,218,.1);cursor:pointer;position:relative;opacity:0;transform:translateY(20px);transition:opacity .5s ease-out,transform .5s ease-out,border-color .3s ease,box-shadow .3s ease}.project-card.fade-in-visible{opacity:1;transform:translateY(0)}.project-card:hover{transform:translateY(-5px);border-color:var(--green)}.project-card:active{transform:translateY(-2px)}.project-image{position:relative;width:100%;height:280px;overflow:hidden;background:var(--navy-light)}.project-img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.4,0,.2,1)}.project-card:hover .project-img{transform:scale(1.1)}.image-count-badge{position:absolute;top:1rem;right:1rem;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:.5rem .75rem;border-radius:2rem;display:flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:600;z-index:2}.project-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--navy-light)}.project-icon{font-size:4rem;opacity:.3;color:var(--green);transition:transform .3s ease,opacity .3s ease}.project-card:hover .project-icon{transform:scale(1.1);opacity:.5}.project-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0a192fcc;display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .3s ease;padding:1.5rem}.project-card:hover .project-overlay{opacity:1}.overlay-content{display:flex;flex-direction:column;gap:.75rem;width:100%;align-items:center}.project-btn{padding:.75rem 1.5rem;background:transparent;color:var(--green);border:1px solid var(--green);border-radius:0;font-weight:400;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Droid Sans Mono,Source Code Pro,monospace;transition:all .3s ease;width:100%;text-align:center;font-size:.8125rem}.project-btn:hover{transform:scale(1);background:var(--green-tint);color:var(--green)}.project-info{padding:1.5rem}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:1rem}.project-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);flex:1}.project-category-badge{padding:.25rem .75rem;background:linear-gradient(135deg,#06b6d41a,#0ea5e91a);color:var(--primary-color);border-radius:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.project-description{font-size:.9375rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem}.project-tag{padding:.25rem .5rem;background:transparent;border-radius:0;font-size:.75rem;color:var(--slate);font-weight:400;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Droid Sans Mono,Source Code Pro,monospace}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr;gap:1.5rem}.project-image{height:240px}.project-header{flex-direction:column;align-items:flex-start}}.contact{background:var(--bg-primary)}.fade-in-up{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.fade-in-up.fade-in-visible{opacity:1;transform:translateY(0)}.contact-content{display:grid;grid-template-columns:1fr 1.5fr;gap:4rem;max-width:1000px;margin:0 auto}.contact-info-title{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--slate-lighter)}.contact-info-text{font-size:1rem;color:var(--slate);line-height:1.7;margin-bottom:2.5rem}.contact-details{display:flex;flex-direction:column;gap:2rem}.contact-item{display:flex;gap:1rem;align-items:flex-start}.contact-icon{font-size:1.25rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:0;flex-shrink:0;border:1px solid rgba(100,255,218,.2);color:var(--green);transition:transform .3s ease,border-color .3s ease}.contact-item:hover .contact-icon{transform:scale(1.05);border-color:var(--green)}.contact-label{font-size:.8125rem;color:var(--slate);font-weight:400;margin-bottom:.25rem;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Droid Sans Mono,Source Code Pro,monospace}.contact-value{font-size:.9375rem;color:var(--slate-lighter);font-weight:400}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.8125rem;font-weight:400;color:var(--slate);font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Droid Sans Mono,Source Code Pro,monospace}.form-group input,.form-group textarea{padding:.875rem 1rem;border:1px solid rgba(100,255,218,.1);border-radius:0;font-size:.9375rem;font-family:inherit;color:var(--slate-lighter);background:var(--navy);transition:all .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 1px var(--green-tint)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--slate);opacity:.5}.form-group textarea{resize:vertical;min-height:120px}.btn-submit{width:100%;margin-top:.5rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;font-size:.9375rem;padding:1rem 2rem}@media (max-width: 968px){.contact-content{grid-template-columns:1fr;gap:3rem}}.footer{background:var(--bg-dark);color:var(--slate);padding:3rem 0 1.5rem;border-top:1px solid rgba(100,255,218,.1)}.footer-content{display:grid;grid-template-columns:1.5fr 1fr;gap:4rem;margin-bottom:2.5rem}.footer-brand{max-width:400px}.footer-logo{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;color:var(--green);font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Droid Sans Mono,Source Code Pro,monospace}.footer-tagline{color:var(--slate);font-size:.875rem}.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.footer-title{font-size:.875rem;font-weight:600;margin-bottom:1rem;color:var(--slate-lighter);font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Droid Sans Mono,Source Code Pro,monospace}.footer-list{list-style:none;display:flex;flex-direction:column;gap:.75rem}.footer-list a{color:var(--slate);font-size:.875rem;transition:color .3s ease;display:flex;align-items:center;gap:.5rem}.footer-link-icon{font-size:.875rem;transition:transform .3s ease}.footer-list a:hover .footer-link-icon{transform:translateY(-2px)}.footer-list a:hover{color:var(--green)}.footer-bottom{padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);text-align:center}.footer-copyright{color:var(--slate);font-size:.75rem;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Droid Sans Mono,Source Code Pro,monospace}@media (max-width: 768px){.footer-content{grid-template-columns:1fr;gap:2.5rem}.footer-links{grid-template-columns:1fr;gap:2rem}}.App{min-height:100vh}*{margin:0;padding:0;box-sizing:border-box}:root{--navy-dark: #0a192f;--navy: #112240;--navy-light: #233554;--slate: #8892b0;--slate-light: #a8b2d1;--slate-lighter: #ccd6f6;--white: #e6f1ff;--green: #64ffda;--green-tint: rgba(100, 255, 218, .1);--primary-color: #64ffda;--primary-dark: #52e0c4;--secondary-color: #64ffda;--accent-color: #64ffda;--text-primary: #ccd6f6;--text-secondary: #8892b0;--bg-primary: #0a192f;--bg-secondary: #112240;--bg-dark: #020c1b;--border-color: rgba(100, 255, 218, .1);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6);--shadow-green: 0 10px 30px -10px rgba(100, 255, 218, .3)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);background-color:var(--bg-primary);line-height:1.6;font-size:16px}html{scroll-behavior:smooth;scroll-padding-top:80px}html{scroll-behavior:smooth}a{text-decoration:none;color:inherit}button{cursor:pointer;border:none;background:none;font-family:inherit}img{max-width:100%;height:auto;display:block}.container{max-width:1000px;margin:0 auto;padding:0 1.5rem}.section{padding:6rem 0}.section-number{display:inline-flex;align-items:center;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Droid Sans Mono,Source Code Pro,monospace;font-size:.875rem;color:var(--green);margin-right:1rem;font-weight:400}.section-number:after{content:"";display:inline-block;width:200px;height:1px;background-color:var(--navy-light);margin-left:1rem;position:relative;top:-1px}@media (max-width: 768px){.section-number:after{width:100px}}@media (max-width: 768px){.container{padding:0 1.5rem}.section{padding:3rem 0}}
