@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary:hsl(0, 0%, 100%);--bg-secondary:hsl(220, 13%, 97%);--bg-tertiary:hsl(220, 13%, 94%);--bg-glass:hsla(0, 0%, 100%, 0.8);--text-primary:hsl(220, 13%, 18%);--text-secondary:hsl(220, 9%, 46%);--text-tertiary:hsl(220, 9%, 62%);--accent-primary:hsl(175, 58%, 40%);--accent-secondary:hsl(175, 58%, 35%);--accent-light:hsl(175, 58%, 90%);--border-color:hsl(220, 13%, 91%);--border-light:hsl(220, 13%, 95%);--shadow-sm:0 1px 2px 0 hsla(0, 0%, 0%, 0.05);--shadow-md:0 4px 6px -1px hsla(0, 0%, 0%, 0.1), 0 2px 4px -1px hsla(0, 0%, 0%, 0.06);--shadow-lg:0 10px 15px -3px hsla(0, 0%, 0%, 0.1), 0 4px 6px -2px hsla(0, 0%, 0%, 0.05);--shadow-xl:0 20px 25px -5px hsla(0, 0%, 0%, 0.1), 0 10px 10px -5px hsla(0, 0%, 0%, 0.04);--gradient-primary:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);--gradient-glass:linear-gradient(135deg, hsla(0, 0%, 100%, 0.1) 0%, hsla(0, 0%, 100%, 0.05) 100%)}[data-theme=dark]{--bg-primary:hsl(220, 13%, 9%);--bg-secondary:hsl(220, 13%, 12%);--bg-tertiary:hsl(220, 13%, 16%);--bg-glass:hsla(220, 13%, 16%, 0.8);--text-primary:hsl(220, 13%, 95%);--text-secondary:hsl(220, 9%, 80%);--text-tertiary:hsl(220, 9%, 70%);--accent-primary:hsl(175, 58%, 55%);--accent-secondary:hsl(175, 58%, 50%);--accent-light:hsl(175, 58%, 20%);--border-color:hsl(220, 13%, 25%);--border-light:hsl(220, 13%, 22%);--shadow-sm:0 1px 2px 0 hsla(0, 0%, 0%, 0.5);--shadow-md:0 4px 6px -1px hsla(0, 0%, 0%, 0.4), 0 2px 4px -1px hsla(0, 0%, 0%, 0.3);--shadow-lg:0 10px 15px -3px hsla(0, 0%, 0%, 0.4), 0 4px 6px -2px hsla(0, 0%, 0%, 0.3);--shadow-xl:0 20px 25px -5px hsla(0, 0%, 0%, 0.6), 0 10px 10px -5px hsla(0, 0%, 0%, 0.4);--gradient-glass:linear-gradient(135deg, hsla(220, 13%, 16%, 0.4) 0%, hsla(220, 13%, 16%, 0.2) 100%)}.detail-item strong,.form-group label,.profile-info h3,body{color:var(--text-primary)}body{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;background-color:var(--bg-primary);transition:background-color .3s ease,color .3s ease}html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.container{max-width:1200px;margin:0 auto;padding:0 1rem}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:.5rem}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}.highlights-list li,p{color:var(--text-secondary)}p{margin-bottom:1rem}.btn,a{text-decoration:none}a{color:var(--accent-primary);transition:color .3s ease}a:hover{color:var(--accent-secondary)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:500;border:0;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);font-size:.9rem;will-change:transform,box-shadow}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{transform:translateY(-3px) scale(1.05);box-shadow:var(--shadow-lg);filter:brightness(110%)}.btn-secondary{background:0 0;color:var(--text-primary);border:2px solid var(--border-color)}.btn-secondary:hover,[data-theme=dark] .btn-secondary:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.btn-secondary:hover{background:var(--bg-tertiary)}[data-theme=dark] .btn-secondary:hover{background:var(--accent-light)}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--bg-glass);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-light);transition:all .3s ease}.navbar.scrolled{background:var(--bg-primary);box-shadow:var(--shadow-md)}.nav-container{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:1rem}.brand-link{font-weight:700;font-size:1.25rem;color:var(--text-primary)}.nav-menu{display:flex;align-items:center;gap:2rem}.nav-link{font-weight:500;color:var(--text-secondary);transition:color .3s ease}.footer-links a:hover,.nav-link.active,.nav-link:hover{color:var(--accent-primary)}.theme-toggle{background:0 0;border:0;font-size:1.25rem;cursor:pointer;padding:.5rem;border-radius:.375rem;transition:background-color .3s ease}.theme-toggle:hover{background:var(--bg-tertiary)}.hamburger{display:none;flex-direction:column;cursor:pointer}.hamburger span{width:25px;height:3px;background:var(--text-primary);margin:3px 0;transition:.3s}.hero{min-height:100vh;display:flex;align-items:center;padding:6rem 0 4rem;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.hero-container{max-width:1200px;margin:0 auto;padding:0 1rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero-content{animation:fadeInUp .8s ease-out}.hero-title{font-size:3.5rem;font-weight:700;margin-bottom:1rem;line-height:1.1}.greeting{color:var(--text-secondary);font-size:1.5rem;font-weight:400;display:block}.name{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;margin-top:.5rem}.hero-subtitle{font-size:1.5rem;color:var(--accent-primary);margin-bottom:1.5rem;font-weight:500}.hero-description{font-size:1.125rem;color:var(--text-secondary);margin-bottom:2.5rem;max-width:500px}.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}.hero-image{display:flex;justify-content:center;animation:fadeInUp .8s ease-out .2s both}.profile-card{background:var(--bg-glass);backdrop-filter:blur(10px);border:1px solid var(--border-light);border-radius:1.5rem;padding:2rem;text-align:center;box-shadow:var(--shadow-xl);max-width:300px}.profile-avatar,.profile-info p{margin-bottom:1.5rem}.avatar-placeholder,.profile-image{width:100px;height:100px;border-radius:50%}.avatar-placeholder{background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#fff;margin:0 auto}.profile-image{object-fit:cover;border:3px solid var(--accent-primary);box-shadow:var(--shadow-md);transition:transform .3s ease,box-shadow .3s ease}.profile-image:hover{transform:scale(1.05);box-shadow:var(--shadow-lg)}.profile-info h3{margin-bottom:.5rem}.profile-info p{color:var(--text-tertiary)}.profile-stats{display:flex;gap:1.5rem;justify-content:center}.stat{text-align:center}.highlights-list li::before,.stat-number{color:var(--accent-primary);font-weight:700}.stat-number{display:block;font-size:1.5rem}.stat-label{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;font-weight:500}.about,.contact,.projects,.skills{padding:6rem 0}.about{background:var(--bg-secondary)}.skills{background:var(--bg-primary)}.projects{background:var(--bg-secondary)}.contact{background:var(--bg-primary)}.section-header{text-align:center;margin-bottom:4rem;animation:fadeInUp .6s ease-out}.section-title{font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary)}.section-subtitle{font-size:1.125rem;color:var(--text-secondary);max-width:600px;margin:0 auto}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.about-intro{font-size:1.125rem;color:var(--text-primary);font-weight:500}.about-details{margin-top:2rem;display:flex;flex-direction:column;gap:1rem}.detail-item{display:flex;align-items:center;gap:1rem}.detail-item strong{min-width:100px}.highlights-list{list-style:none}.highlights-list li{position:relative;padding:.5rem 0 .5rem 1.5rem}.highlights-list li::before{content:"✓";position:absolute;left:0}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.skill-category{background:var(--bg-glass);backdrop-filter:blur(10px);border:1px solid var(--border-light);border-radius:1rem;padding:2rem;animation:fadeInUp .8s cubic-bezier(.4,0,.2,1);transition:all .4s cubic-bezier(.4,0,.2,1);will-change:transform,box-shadow}.skill-category:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--accent-primary)}.category-title{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.25rem}.skills-list{display:flex;flex-wrap:wrap;gap:.75rem}.skill-tag{background:var(--accent-light);color:var(--accent-primary);padding:.5rem 1rem;border-radius:2rem;font-size:.875rem;font-weight:500;border:1px solid var(--accent-primary)}.project-filters{display:flex;justify-content:center;gap:1rem;margin-bottom:3rem;flex-wrap:wrap}.filter-btn,.form-group input,.form-group textarea{border:2px solid var(--border-color);transition:all .3s ease}.filter-btn{background:0 0;color:var(--text-secondary);padding:.5rem 1.5rem;border-radius:2rem;cursor:pointer;font-weight:500}.filter-btn.active,.filter-btn:hover,[data-theme=dark] .skill-tag{border-color:var(--accent-primary);background:var(--accent-light);color:var(--accent-primary)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:3rem}@media (min-width:1400px){.projects-grid{grid-template-columns:repeat(4,1fr);gap:2rem}}@media (min-width:1024px) and (max-width:1399px){.projects-grid{grid-template-columns:repeat(3,1fr);gap:1.75rem}}.project-card,.project-image{position:relative;overflow:hidden}.project-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:1.25rem;transition:all .4s cubic-bezier(.4,0,.2,1);animation:fadeInUp .8s cubic-bezier(.4,0,.2,1);will-change:transform,box-shadow;box-shadow:var(--shadow-md)}.project-card:hover{transform:translateY(-12px);box-shadow:0 25px 50px -12px rgba(0,0,0,.25);border-color:var(--accent-primary)}[data-theme=dark] .project-card:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.6)}.project-card.hidden{display:none}.project-image{height:160px;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center}.project-image::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(0,0,0,.1)0,transparent 50%,rgba(255,255,255,.1) 100%);pointer-events:none;opacity:0;transition:opacity .3s ease}.project-card:hover .project-image::after{opacity:1}.project-screenshot{width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .4s cubic-bezier(.4,0,.2,1)}.project-card:hover .project-screenshot{transform:scale(1.1)}.project-placeholder{font-size:2rem;font-weight:700;color:#fff}.project-content{padding:1.5rem;background:var(--bg-primary);position:relative}.project-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem;gap:1rem}.project-title{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin-bottom:.25rem}.project-status{padding:.375rem .875rem;border-radius:2rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--shadow-sm);border:1.5px solid transparent;flex-shrink:0}.project-status.current{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:#10b981}.project-status.client{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border-color:#3b82f6}.project-status.previous{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-color:#f59e0b}.project-subtitle{color:var(--accent-primary);font-weight:600;margin-bottom:1.25rem;font-size:.9rem;position:relative;padding-left:1rem}.project-subtitle::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:16px;background:var(--gradient-primary);border-radius:2px}.project-description{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6;padding:1rem;background:var(--bg-secondary);border-radius:.5rem;border-left:3px solid var(--accent-primary)}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tech-tag{background:var(--bg-secondary);color:var(--text-secondary);padding:.375rem .875rem;border-radius:1.5rem;font-size:.7rem;font-weight:600;border:1px solid var(--border-color);transition:all .2s ease;text-transform:uppercase;letter-spacing:.3px}.tech-tag:hover{background:var(--accent-light);color:var(--accent-primary);border-color:var(--accent-primary);transform:translateY(-1px)}[data-theme=dark] .tech-tag{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-color)}.project-links{display:flex;gap:1rem}.project-link{display:inline-flex;align-items:center;gap:.5rem;color:#fff;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);padding:.75rem 1.25rem;background:var(--gradient-primary);border-radius:2rem;text-decoration:none;border:0;font-size:.85rem;box-shadow:var(--shadow-sm);text-transform:uppercase;letter-spacing:.5px}.project-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);filter:brightness(110%)}[data-theme=dark] .project-link:hover{background:linear-gradient(135deg,#5ed4ca,#4acfc4);color:#14161a;box-shadow:0 10px 25px -5px rgba(0,0,0,.4)}.project-link:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.contact-content{display:grid;grid-template-columns:1fr 1.5fr;gap:4rem;align-items:start;max-width:1400px;margin:0 auto}.about-highlights h3,.contact-info h3,.contact-text strong{color:var(--text-primary);margin-bottom:1.5rem}.contact-details{margin-top:2rem;display:flex;flex-direction:column;gap:1.5rem}.contact-item{display:flex;align-items:center;gap:1rem}.contact-icon{font-size:1.5rem;width:2.5rem;text-align:center}.contact-text{display:flex;flex-direction:column}.contact-text strong{font-weight:600;margin-bottom:.25rem}.contact-form-container{background:var(--bg-glass);backdrop-filter:blur(10px);border:1px solid var(--border-light);border-radius:1rem;padding:2rem;min-width:0}.google-form-wrapper{border-radius:1rem;overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--border-color);background:var(--bg-primary)}.google-form-iframe{width:100%;height:700px;border:0;display:block;border-radius:.5rem}.form-fallback{margin-top:1rem;text-align:center;padding:1rem;background:var(--bg-secondary);border-radius:.5rem;border:1px solid var(--border-light)}.form-fallback p{margin:0;color:var(--text-secondary)}.contact-form,.form-group{display:flex;flex-direction:column;gap:1.5rem}.form-group{gap:.5rem}.form-group label{font-weight:500}.form-group input,.form-group textarea{padding:.75rem;border-radius:.5rem;background:var(--bg-primary);color:var(--text-primary);font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-light)}[data-theme=dark] .google-form-wrapper{border-color:var(--border-color);background:var(--bg-secondary)}[data-theme=dark] .form-fallback{background:var(--bg-tertiary);border-color:var(--border-color)}.footer{background:var(--bg-tertiary);padding:2rem 0;border-top:1px solid var(--border-color)}.footer-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-text p{color:var(--text-secondary);margin:0}.footer-links{display:flex;gap:1.5rem}.footer-links a{color:var(--text-secondary);font-weight:500}@media (max-width:768px){.hamburger{display:flex}.nav-menu{position:fixed;top:100%;left:0;right:0;background:var(--bg-primary);flex-direction:column;padding:2rem;box-shadow:var(--shadow-lg);transform:translateY(-100vh);transition:transform .3s ease;border-top:1px solid var(--border-color)}.nav-menu.active{transform:translateY(0)}.hero-container{grid-template-columns:1fr;text-align:center;gap:2rem}.hero-title{font-size:2.5rem}.about-content,.contact-content{grid-template-columns:1fr;gap:2rem;max-width:100%}.google-form-iframe{height:600px}.projects-grid,.skills-grid{grid-template-columns:1fr}.projects-grid{gap:2rem;margin-top:2rem}.project-card{margin:0 auto;max-width:100%}.footer-content,.hero-cta,.project-filters{justify-content:center}.footer-content{text-align:center}}@media (max-width:480px){.container{padding:0 .75rem}.hero-title,.section-title{font-size:2rem}.btn{padding:.6rem 1.25rem;font-size:.85rem}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-secondary)}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.btn,.hero-content,.hero-image,.profile-card,.profile-image,.project-card,.project-screenshot,.skill-category{transform:translate3d(0,0,0);backface-visibility:hidden;perspective:1000px}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}