*{box-sizing:border-box;margin:0;padding:0}:root{--primary-gradient:linear-gradient(135deg,#667eea,#764ba2);--secondary-gradient:linear-gradient(135deg,#f093fb,#f5576c);--accent-gradient:linear-gradient(135deg,#4facfe,#00f2fe);--dark-gradient:linear-gradient(135deg,#1a1a2e,#16213e);--text-primary:#1a1a2e;--text-secondary:#4a5568;--text-light:#718096;--bg-primary:#fff;--bg-secondary:#f7fafc;--bg-dark:#1a1a2e;--border-color:#e2e8f0;--shadow-sm:0 2px 4px #0000000d;--shadow-md:0 4px 8px #00000014;--shadow-lg:0 8px 16px #0000001f;--shadow-xl:0 12px 24px #00000026;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7fafc;background:var(--bg-secondary);color:#1a1a2e;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1,h2,h3,h4,h5,h6{color:#1a1a2e;color:var(--text-primary);font-family:Poppins,sans-serif;font-weight:700;line-height:1.2}h1{font-size:clamp(2.5rem,5vw,4rem);font-weight:800}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}a{color:inherit;text-decoration:none}a,button{transition:all .3s cubic-bezier(.4,0,.2,1)}button{border:none;cursor:pointer;font-family:Inter,sans-serif;outline:none}img{display:block;height:auto;max-width:100%}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f7fafc;background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#764ba2,#667eea)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .6s ease-out}.gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text}.container{margin:0 auto;max-width:1200px;padding:0 20px}.section{padding:80px 0}@media (max-width:768px){.section{padding:60px 0}}.hero{align-items:center;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:100px 0 80px;position:relative}.hero-background{bottom:0;left:0;position:absolute;right:0;top:0;z-index:-1}.hero-bg-image{filter:brightness(.3);height:100%;object-fit:cover;width:100%}.hero-overlay{background:linear-gradient(135deg,#667eeae6,#764ba2e6);bottom:0;left:0;mix-blend-mode:multiply;position:absolute;right:0;top:0}.hero-container{margin:0 auto;max-width:1200px;padding:0 20px;position:relative;z-index:1}.hero-content{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:1fr 1fr;margin-bottom:60px}.hero-text{color:#fff}.hero-badge{align-items:center;animation:fadeIn .6s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:50px;display:inline-flex;font-size:.9rem;font-weight:500;gap:8px;margin-bottom:20px;padding:8px 16px}.badge-dot{animation:pulse 2s ease-in-out infinite;background:#4ade80;border-radius:50%;height:8px;width:8px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.hero-title{animation:fadeIn .8s ease-out .2s both;font-size:clamp(2.5rem,5vw,4rem);font-weight:800;line-height:1.1;margin-bottom:15px}.hero-title .gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#f0f0f0);-webkit-background-clip:text;background-clip:text}.hero-subtitle{animation:fadeIn 1s ease-out .4s both;color:#ffffffe6;font-size:clamp(1.3rem,3vw,1.8rem);font-weight:600;margin-bottom:20px}.hero-description{animation:fadeIn 1.2s ease-out .6s both;color:#ffffffd9;font-size:1.1rem;line-height:1.8;margin-bottom:30px}.hero-tech-stack{animation:fadeIn 1.4s ease-out .8s both;margin-bottom:30px}.tech-label{color:#ffffffb3;display:block;font-size:.9rem;font-weight:600;margin-bottom:12px}.tech-tags{display:flex;flex-wrap:wrap;gap:10px}.tech-tag{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:20px;color:#fff;font-size:.85rem;font-weight:500;padding:6px 14px;transition:all .3s ease}.tech-tag:hover{background:#ffffff40;transform:translateY(-2px)}.hero-actions{animation:fadeIn 1.6s ease-out 1s both;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:30px}.btn{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:10px;padding:14px 28px;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-primary{background:#fff;box-shadow:0 4px 12px #00000026;color:#667eea}.btn-primary:hover{background:#f0f0f0;box-shadow:0 8px 20px #0003;transform:translateY(-2px)}.btn-secondary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #ffffff4d;color:#fff}.btn-secondary:hover{background:#ffffff40;transform:translateY(-2px)}.btn-icon{font-size:1rem}.hero-social{animation:fadeIn 1.8s ease-out 1.2s both;display:flex;gap:15px}.social-link{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3}.social-link:hover{background:#fff;box-shadow:0 8px 16px #0003;color:#667eea}.hero-image-section{align-items:center;animation:fadeIn 1s ease-out .4s both;display:flex;justify-content:center}.hero-image-wrapper{height:400px;position:relative;width:400px}.hero-image-glow{animation:glow 3s ease-in-out infinite;background:radial-gradient(circle,#ffffff4d 0,#0000 70%);border-radius:50%;height:120%;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:120%}@keyframes glow{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:.8;transform:translate(-50%,-50%) scale(1.1)}}.hero-avatar{border:6px solid #ffffff4d;border-radius:50%;box-shadow:0 12px 40px #0000004d;height:100%;object-fit:cover;position:relative;width:100%;z-index:1}.hero-image-border{animation:rotate 20s linear infinite;border:2px solid #fff3;border-radius:50%;bottom:-10px;left:-10px;position:absolute;right:-10px;top:-10px}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.hero-stats{grid-gap:20px;animation:fadeIn 2s ease-out 1.4s both;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:var(--radius-lg);color:#fff;display:flex;gap:20px;padding:25px;transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card:hover{background:#ffffff40;box-shadow:0 12px 24px #0003;transform:translateY(-5px)}.stat-icon{font-size:2.5rem;opacity:.9}.stat-content{flex:1 1}.stat-value{font-size:2rem;font-weight:800;line-height:1;margin-bottom:5px}.stat-label{font-size:.9rem;opacity:.85}.hero-scroll-indicator{align-items:center;animation:fadeIn 2.2s ease-out 1.6s both;bottom:30px;color:#ffffffb3;display:flex;flex-direction:column;gap:10px;left:50%;position:absolute;transform:translateX(-50%)}.scroll-line{animation:scrollDown 2s ease-in-out infinite;background:linear-gradient(180deg,#ffffffb3,#0000);height:40px;width:2px}@keyframes scrollDown{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.5;transform:translateY(10px)}}.scroll-text{font-size:.85rem;font-weight:500}@media (max-width:968px){.hero-content{gap:40px;grid-template-columns:1fr}.hero-image-wrapper{height:300px;width:300px}.hero-stats{grid-template-columns:1fr}}@media (max-width:768px){.hero{padding:80px 0 60px}.hero-actions{flex-direction:column}.btn{justify-content:center;width:100%}.hero-image-wrapper{height:250px;width:250px}.stat-card{padding:20px}.stat-icon{font-size:2rem}.stat-value{font-size:1.5rem}}.projects-page{background:var(--bg-secondary);min-height:100vh;padding:100px 0 80px}.projects-container{margin:0 auto;max-width:1200px;padding:0 20px}.projects-header{margin-bottom:60px;text-align:center}.projects-title{font-size:clamp(2.5rem,5vw,3.5rem);margin-bottom:15px}.projects-subtitle{color:var(--text-secondary);font-size:1.2rem;margin:0 auto;max-width:600px}.projects-filters{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-bottom:50px}.filter-btn{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:50px;color:var(--text-secondary);font-size:.95rem;font-weight:600;padding:10px 24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.filter-btn:hover{border-color:#667eea;color:#667eea;transform:translateY(-2px)}.filter-btn.active{background:var(--primary-gradient);border-color:#0000;box-shadow:0 4px 12px #667eea4d;color:#fff}.projects-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.project-card{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.project-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-8px)}.featured-badge{align-items:center;background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:20px;box-shadow:0 4px 12px #f5576c66;color:#fff;display:flex;font-size:.85rem;font-weight:600;gap:6px;padding:6px 12px;position:absolute;right:15px;top:15px;z-index:10}.project-image-wrapper{height:250px;overflow:hidden;position:relative;width:100%}.project-image{height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.4,0,.2,1);width:100%}.project-card:hover .project-image{transform:scale(1.1)}.project-overlay{align-items:center;background:linear-gradient(135deg,#667eeae6,#764ba2e6);bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.project-card:hover .project-overlay{opacity:1}.project-links{display:flex;gap:15px}.project-link{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:50%;color:#fff;display:flex;font-size:1.2rem;height:50px;justify-content:center;transition:all .3s ease;width:50px}.project-link:hover{background:#fff;color:#667eea;transform:scale(1.1)}.project-content{padding:25px}.project-category{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;display:inline-block;font-size:.8rem;font-weight:600;margin-bottom:12px;padding:4px 12px}.project-title{color:var(--text-primary);font-size:1.5rem;font-weight:700;line-height:1.3;margin-bottom:12px}.project-description{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:20px}.project-tech{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.tech-badge{background:var(--bg-secondary);border-radius:20px;color:var(--text-secondary);font-size:.8rem;font-weight:500;padding:5px 12px;transition:all .3s ease}.tech-badge:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transform:translateY(-2px)}.project-meta{border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:8px;padding-top:20px}.meta-item{color:var(--text-secondary);font-size:.9rem}.meta-item strong{color:var(--text-primary);font-weight:600}.no-projects{color:var(--text-secondary);font-size:1.1rem;padding:60px 20px;text-align:center}@media (max-width:768px){.projects-page{padding:80px 0 60px}.projects-grid{grid-template-columns:1fr}.project-image-wrapper{height:200px}.project-content{padding:20px}}.skills-page{background:var(--bg-secondary);min-height:100vh;padding:100px 0 80px}.skills-container{margin:0 auto;max-width:1200px;padding:0 20px}.skills-header{margin-bottom:60px;text-align:center}.skills-title{font-size:clamp(2.5rem,5vw,3.5rem);margin-bottom:15px}.skills-subtitle{color:var(--text-secondary);font-size:1.2rem;margin:0 auto;max-width:600px}.skills-category{margin-bottom:60px}.category-title{border-bottom:3px solid #0000;border-image:var(--primary-gradient);border-image-slice:1;color:var(--text-primary);display:inline-block;font-size:2rem;font-weight:700;margin-bottom:30px;padding-bottom:15px}.skills-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.skill-card{background:var(--bg-primary);border:2px solid #0000;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:30px;transition:all .3s cubic-bezier(.4,0,.2,1)}.skill-card:hover{border-color:#667eea4d;box-shadow:var(--shadow-xl);transform:translateY(-8px)}.skill-header{align-items:flex-start;display:flex;gap:20px;margin-bottom:20px}.skill-icon{align-items:center;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:var(--radius-md);display:flex;flex-shrink:0;font-size:3rem;height:70px;justify-content:center;width:70px}.skill-info{flex:1 1}.skill-name{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:8px}.skill-stats{display:flex;flex-wrap:wrap;gap:15px}.skill-stat{background:var(--bg-secondary);border-radius:20px;color:var(--text-secondary);font-size:.85rem;font-weight:500;padding:4px 12px}.skill-description{color:var(--text-secondary);font-size:.95rem;line-height:1.7;margin-bottom:25px}.skill-level{margin-top:auto}.level-label{align-items:center;color:var(--text-secondary);display:flex;font-size:.9rem;font-weight:600;justify-content:space-between;margin-bottom:10px}.level-value{color:#667eea;font-size:1rem}.level-bar{background:var(--bg-secondary);height:8px}.level-bar,.level-fill{border-radius:10px;overflow:hidden;position:relative}.level-fill{background:var(--primary-gradient);height:100%;transition:width 1s cubic-bezier(.4,0,.2,1)}.level-fill:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.no-skills{color:var(--text-secondary);font-size:1.1rem;padding:60px 20px;text-align:center}@media (max-width:768px){.skills-page{padding:80px 0 60px}.skills-grid{grid-template-columns:1fr}.skill-card{padding:25px}.skill-header{align-items:center;flex-direction:column;text-align:center}.skill-stats{justify-content:center}}.testimonials-page{background:var(--bg-secondary);min-height:100vh;padding:100px 0 80px}.testimonials-container{margin:0 auto;max-width:1200px;padding:0 20px}.testimonials-header{margin-bottom:60px;text-align:center}.testimonials-title{font-size:clamp(2.5rem,5vw,3.5rem);margin-bottom:15px}.testimonials-subtitle{color:var(--text-secondary);font-size:1.2rem;margin:0 auto;max-width:600px}.testimonials-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.testimonial-card{background:var(--bg-primary);border:2px solid #0000;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:20px;padding:35px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.testimonial-card:hover{border-color:#667eea4d;box-shadow:var(--shadow-xl);transform:translateY(-8px)}.quote-icon{color:#667eea1a;font-size:3rem;position:absolute;right:25px;top:25px}.testimonial-rating{display:flex;gap:5px}.star-icon{color:#fbbf24;font-size:1.2rem}.testimonial-text{color:var(--text-secondary);font-size:1rem;font-style:italic;line-height:1.8;position:relative;z-index:1}.testimonial-project{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-left:3px solid #667eea;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.9rem;padding:10px 15px}.testimonial-project strong{color:var(--text-primary);font-weight:600}.testimonial-author{align-items:center;border-top:1px solid var(--border-color);display:flex;gap:15px;padding-top:20px}.author-avatar{border:3px solid var(--bg-secondary);border-radius:50%;box-shadow:var(--shadow-sm);height:60px;object-fit:cover;width:60px}.author-info{flex:1 1}.author-name{color:var(--text-primary);font-size:1.1rem;font-weight:700;margin-bottom:4px}.author-position{color:var(--text-secondary);font-size:.9rem;margin-bottom:2px}.author-company,.testimonial-date{color:var(--text-light);font-size:.85rem}.testimonial-date{text-align:right}.no-testimonials{color:var(--text-secondary);font-size:1.1rem;padding:60px 20px;text-align:center}@media (max-width:768px){.testimonials-page{padding:80px 0 60px}.testimonials-grid{grid-template-columns:1fr}.testimonial-card{padding:30px}.quote-icon{font-size:2.5rem;right:20px;top:20px}}.contact-page{background:var(--bg-secondary);min-height:100vh;padding:100px 0 80px}.contact-container{margin:0 auto;max-width:1200px;padding:0 20px}.contact-header{margin-bottom:60px;text-align:center}.contact-title{font-size:clamp(2.5rem,5vw,3.5rem);margin-bottom:15px}.contact-subtitle{color:var(--text-secondary);font-size:1.2rem;margin:0 auto;max-width:600px}.contact-content{grid-gap:50px;align-items:start;display:grid;gap:50px;grid-template-columns:1fr 1.5fr}.contact-info-section{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:40px;position:-webkit-sticky;position:sticky;top:100px}.info-title{color:var(--text-primary);font-size:1.8rem;font-weight:700;margin-bottom:15px}.info-description{color:var(--text-secondary);line-height:1.7;margin-bottom:30px}.contact-info-list{display:flex;flex-direction:column;gap:25px;margin-bottom:40px}.contact-info-item{align-items:flex-start;display:flex;gap:20px}.info-icon{align-items:center;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:var(--radius-md);color:#667eea;display:flex;flex-shrink:0;font-size:1.3rem;height:50px;justify-content:center;width:50px}.info-content{flex:1 1}.info-label{color:var(--text-light);font-size:.85rem;font-weight:600;letter-spacing:.5px;margin-bottom:5px;text-transform:uppercase}.info-value{color:var(--text-primary);font-size:1rem;font-weight:500}.info-value.link{color:#667eea;transition:all .3s ease}.info-value.link:hover{color:#764ba2;text-decoration:underline}.contact-social{border-top:1px solid var(--border-color);padding-top:30px}.social-title{color:var(--text-primary);font-size:1.2rem;font-weight:600;margin-bottom:20px}.social-links{display:flex;gap:15px}.social-link{background:linear-gradient(135deg,#667eea1a,#764ba21a);color:#667eea;font-size:1.3rem;height:50px;width:50px}.social-link:hover{background:var(--primary-gradient);color:#fff}.contact-form-section{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:40px}.contact-form{gap:25px}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-label{color:var(--text-primary);font-size:.95rem;font-weight:600}.form-input,.form-textarea{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:Inter,sans-serif;font-size:1rem;outline:none;padding:14px 18px;transition:all .3s ease}.form-input:focus,.form-textarea:focus{background:var(--bg-primary);border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-textarea{min-height:150px;resize:vertical}.form-submit{align-items:center;background:var(--primary-gradient);border:none;border-radius:var(--radius-md);box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;display:inline-flex;font-size:1.05rem;font-weight:600;gap:10px;justify-content:center;padding:16px 32px;transition:all .3s cubic-bezier(.4,0,.2,1)}.form-submit:hover:not(:disabled){box-shadow:0 8px 20px #667eea66;transform:translateY(-2px)}.form-submit:disabled{cursor:not-allowed;opacity:.6}.submit-icon{font-size:1rem}.form-success{background:linear-gradient(135deg,#4ade801a,#22c55e1a);border:2px solid #4ade80;border-radius:var(--radius-md);color:#16a34a;font-weight:500;padding:15px 20px;text-align:center}@media (max-width:968px){.contact-content{gap:40px;grid-template-columns:1fr}.contact-info-section{position:static}}@media (max-width:768px){.contact-page{padding:80px 0 60px}.contact-form-section,.contact-info-section{padding:30px}.form-submit{width:100%}}.navigation{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #0000000f;box-shadow:0 2px 8px #0000000d;left:0;position:fixed;right:0;top:0;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000}.navigation.scrolled{background:#fffffffa;box-shadow:0 4px 12px #00000014}.nav-container{height:70px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.nav-container,.nav-logo{align-items:center;display:flex}.nav-logo{color:var(--text-primary);font-size:1.5rem;font-weight:700;gap:12px;transition:all .3s ease}.nav-logo:hover{transform:translateY(-2px)}.logo-icon{-webkit-text-fill-color:#0000;background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;font-size:2rem}.logo-text{font-family:Poppins,sans-serif}.nav-toggle{background:none;border-radius:var(--radius-sm);color:var(--text-primary);display:none;font-size:1.5rem;padding:8px;transition:all .3s ease}.nav-toggle:hover{background:#667eea1a;color:#667eea}.nav-menu{align-items:center;display:flex;gap:40px;list-style:none}.nav-item,.nav-link{position:relative}.nav-link{color:var(--text-secondary);font-size:1rem;font-weight:500;padding:8px 0;transition:all .3s ease}.nav-link:after{background:var(--primary-gradient);bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.nav-link:hover{color:#667eea}.nav-link:hover:after{width:100%}.nav-link.active{color:#667eea;font-weight:600}.nav-link.active:after{width:100%}@media (max-width:768px){.nav-toggle{display:block}.nav-menu{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;box-shadow:0 8px 16px #0000001a;flex-direction:column;gap:25px;left:0;opacity:0;padding:30px 20px;position:fixed;right:0;top:70px;transform:translateX(-100%);transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-menu.active{opacity:1;transform:translateX(0)}.nav-link{font-size:1.1rem;padding:10px 0}.nav-link:after{left:50%;transform:translateX(-50%)}}.footer{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;margin-top:80px;padding:60px 0 30px}.footer-container{margin:0 auto;max-width:1200px;padding:0 20px}.footer-content{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:40px}.footer-section{display:flex;flex-direction:column;gap:15px}.footer-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:700;margin-bottom:10px}.footer-description{color:#ffffffb3;font-size:.95rem;line-height:1.6}.footer-heading{color:#fff;font-size:1.2rem;font-weight:600;margin-bottom:10px}.footer-links{display:flex;flex-direction:column;gap:10px;list-style:none}.footer-links a{color:#ffffffb3;display:inline-block;font-size:.95rem;transition:all .3s ease}.footer-links a:hover{color:#667eea;transform:translateX(5px)}.footer-social{display:flex;flex-wrap:wrap;gap:15px}.social-link{align-items:center;background:#ffffff1a;border-radius:var(--radius-sm);color:#fff;display:flex;font-size:1.2rem;height:45px;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);width:45px}.social-link:hover{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 8px 16px #667eea4d;transform:translateY(-3px)}.footer-bottom{border-top:1px solid #ffffff1a;padding-top:30px;text-align:center}.footer-copyright{align-items:center;color:#fff9;display:flex;font-size:.9rem;gap:8px;justify-content:center}.heart-icon{animation:heartbeat 1.5s ease-in-out infinite;color:#f5576c}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media (max-width:768px){.footer{margin-top:60px;padding:40px 0 20px}.footer-content{gap:30px;grid-template-columns:1fr;margin-bottom:30px}.footer-copyright{flex-direction:column;gap:5px}}.app{display:flex;flex-direction:column;min-height:100vh}.app main{flex:1 1}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s ease-out,transform .3s ease-out}.page-exit{opacity:1}.page-exit-active{opacity:0;transition:opacity .3s ease-out}.loading{align-items:center;color:var(--text-secondary);display:flex;font-size:1.2rem;justify-content:center;min-height:60vh}.loading:after{animation:spin .8s linear infinite;border:4px solid var(--border-color);border-radius:50%;border-top:4px solid #667eea;content:"";height:40px;margin-left:15px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.error{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh;padding:40px 20px;text-align:center}.error h2{color:#f5576c;margin-bottom:15px}.error p{color:var(--text-secondary);max-width:500px}@media (max-width:768px){.loading{font-size:1rem}.loading:after{height:30px;width:30px}}