:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400}:root{--bg: #ffffff;--text: #111827;--card-bg: #f3f4f6;--border: #e5e7eb;--accent-gradient: linear-gradient(to right, #2563eb, #9333ea);--label: #6b7280;--value: #111827}.dark{--bg: #111827;--text: #ffffff;--card-bg: #1f2937;--border: #374151;--accent-gradient: linear-gradient(to right, #2563eb, #9333ea);--label: #9ca3af;--value: #ffffff}.navbar{position:fixed;top:0;left:0;width:100%;background:#ffffffe6;border-bottom:1px solid #ddd;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .3s,color .3s;z-index:1000;color:#1f2937}body.dark .navbar{background:#121212f2;border-bottom:1px solid #333;color:#f5f5f5}.navbar-container{max-width:1200px;margin:0 auto;padding:.75rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.navbar-logo{font-size:1.5rem;font-weight:700;cursor:pointer;background:linear-gradient(90deg,#2563eb,#9333ea);-webkit-background-clip:text;-webkit-text-fill-color:transparent;transition:.3s}.navbar-logo:hover{opacity:.8}.nav-links{display:none;gap:1rem}.nav-links button{background:none;border:none;cursor:pointer;font-size:1rem;padding:.5rem 1rem;transition:.3s;color:inherit}.nav-links button:hover{color:#2563eb}.nav-links .active{color:#2563eb;font-weight:700}.nav-actions{display:flex;align-items:center;gap:.75rem}.theme-toggle,.menu-toggle{background:none;border:none;font-size:1.25rem;cursor:pointer;transition:transform .2s;color:inherit}.theme-toggle:hover,.menu-toggle:hover{transform:scale(1.1)}.mobile-menu{display:flex;flex-direction:column;background:inherit;padding:1rem;border-top:1px solid #ddd}.mobile-menu button{background:none;border:none;font-size:1.1rem;text-align:left;padding:.75rem;cursor:pointer;transition:.3s;color:inherit}.mobile-menu button:hover{color:#2563eb}.mobile-menu .active{color:#2563eb;font-weight:700}@media (min-width: 768px){.nav-links{display:flex}.menu-toggle,.mobile-menu{display:none}}.hero{min-height:100vh;width:100%;max-width:100vw;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;text-align:center;background:linear-gradient(135deg,#f8fafc,#eff6ff,#f5f3ff);color:#1f2937;box-sizing:border-box;padding:2rem}.dark .hero{background:linear-gradient(135deg,#111827,#1e3a8a,#4c1d95);color:#e5e7eb}.background-blur{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.background-blur:before,.background-blur:after{content:"";position:absolute;border-radius:50%;filter:blur(100px);opacity:.3;animation:pulse 6s infinite alternate}.background-blur:before{top:15%;left:20%;width:220px;height:220px;background:#3b82f666}.background-blur:after{bottom:15%;right:20%;width:320px;height:320px;background:#a855f766}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.1)}}.floating-dots{position:absolute;inset:0;z-index:0}.floating-dots span{position:absolute;width:8px;height:8px;background:#3b82f64d;border-radius:50%;animation:float 4s infinite}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-20px)}to{transform:translateY(0)}}.hero-content{position:relative;z-index:2;max-width:800px;padding:2rem 1rem}.intro{font-size:1.2rem;margin-bottom:.5rem}.name{font-size:3rem;font-weight:700;background:linear-gradient(90deg,#2563eb,#9333ea,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.role{font-size:1.75rem;margin:1rem 0}.role span{color:#2563eb;font-weight:700}.cursor{animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.description{margin:1rem 0 2rem;font-size:1rem;line-height:1.6;color:#6b7280}.dark .description{color:#d1d5db}.buttons{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.btn{padding:.75rem 1.5rem;border-radius:30px;font-weight:600;cursor:pointer;transition:all .3s}.btn.primary{background:linear-gradient(90deg,#2563eb,#9333ea);color:#fff;border:none}.btn.primary:hover{opacity:.9;transform:scale(1.05)}.btn.secondary{border:2px solid #2563eb;color:#2563eb;background:transparent}.btn.secondary:hover{background:#2563eb;color:#fff;transform:scale(1.05)}.scroll-indicator{position:absolute;bottom:30px;left:50%;transform:translate(-50%);cursor:pointer}.down-arrow{display:inline-block;width:24px;height:24px;border-left:3px solid #6b7280;border-bottom:3px solid #6b7280;transform:rotate(-45deg);animation:bounce 1.5s infinite}@keyframes bounce{0%,to{transform:translateY(0) rotate(-45deg)}50%{transform:translateY(10px) rotate(-45deg)}}@media (min-width: 768px){.name{font-size:4rem}.role{font-size:2rem}.description{font-size:1.1rem}}@media (min-width: 1200px){.name{font-size:5rem}.role{font-size:2.25rem}}.about{padding:5rem 1rem;background:#fff;color:#111;transition:background .3s,color .3s}.dark .about{background:#111827;color:#e5e7eb}.section-header{text-align:center;margin-bottom:3rem}.section-header h2{font-size:2.5rem;font-weight:700}.dark .about .section-header h2{color:#f3f4f6}.highlight{background:linear-gradient(90deg,#2563eb,#9333ea);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.underline{width:100px;height:4px;background:linear-gradient(90deg,#2563eb,#9333ea);margin:.5rem auto 0;border-radius:10px}.about-grid{display:grid;grid-template-columns:1fr;gap:3rem}@media (min-width: 992px){.about-grid{grid-template-columns:1fr 1fr;align-items:center}}.profile-circle{position:relative;width:18rem;height:18rem;margin:0 auto;border-radius:50%;background:linear-gradient(135deg,#d1d5db,#9ca3af);border:6px solid #fff;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;color:#666;box-shadow:0 10px 25px #0000001a}.dark .about .profile-circle{background:linear-gradient(135deg,#374151,#1f2937);color:#e5e7eb;border:6px solid #1f2937}.floating-icon{position:absolute;width:3rem;height:3rem;border-radius:50%;background:#2563eb;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 10px #0003}.floating-icon.bottom-left{bottom:-10px;left:-10px;background:#9333ea}.floating-icon.top-right{top:-10px;right:-10px}.content h3{font-size:1.8rem;font-weight:700;margin-bottom:1.5rem}.text-block p{margin-bottom:1rem;color:#555;line-height:1.7}.dark .about .text-block p{color:#d1d5db}.text-block .blue{color:#2563eb;font-weight:700}.stats{display:flex;gap:1rem;margin-top:2rem}.stat-box{flex:1;text-align:center;padding:1.5rem;border:1px solid #e5e7eb;border-radius:1rem;background:#f9fafb}.dark .about .stat-box{background:#1f2937;border:1px solid #374151}.stat-number{font-size:2rem;font-weight:700;margin-bottom:.5rem}.stat-number.blue{color:#2563eb}.stat-number.purple{color:#9333ea}.stat-label{font-size:.9rem;color:#666}.dark .about .stat-label{color:#9ca3af}.highlights{margin-top:4rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.highlight-box{padding:2rem;border:1px solid #e5e7eb;border-radius:1rem;background:#fff;box-shadow:0 4px 10px #0000000d;transition:transform .3s,box-shadow .3s;text-align:center}.highlight-box:hover{transform:translateY(-8px);box-shadow:0 10px 20px #0000001a}.dark .about .highlight-box{background:#1f2937;border:1px solid #374151}.highlight-icon{width:4rem;height:4rem;margin:0 auto 1rem;background:linear-gradient(135deg,#2563eb,#9333ea);border-radius:1rem;display:flex;align-items:center;justify-content:center;color:#fff}.highlight-box h4{font-size:1.2rem;margin-bottom:.5rem}.profile-img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:50%}.cta{margin-top:4rem;text-align:center;display:inline-flex;align-items:center;gap:1rem;padding:1rem 2rem;border:1px solid #2563eb;border-radius:50px;background:#eef2ff;color:#2563eb;font-weight:500}.dark .about .cta{background:#1f2937;border:1px solid #9333ea;color:#e5e7eb}.cta-icon{width:1.5rem;height:1.5rem}.services{padding:5rem 1rem;background:#f9fafb;transition:background .3s ease,color .3s ease;color:inherit}.dark .services{background:#111827;color:#e5e7eb}.container{max-width:1200px;margin:0 auto}.services-header{text-align:center;margin-bottom:3rem}.services-header h2{font-size:2.5rem;font-weight:700;color:#111}.dark .services .services-header h2{color:#fff}.services-header p{max-width:700px;margin:.5rem auto 0;color:#555}.dark .services .services-header p{color:#d1d5db}.services-header .highlight{background:linear-gradient(90deg,#2563eb,#9333ea);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.underline{width:120px;height:4px;margin:1rem auto 0;background:linear-gradient(90deg,#2563eb,#9333ea);border-radius:8px}.services-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:3rem}.service-card{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 8px 18px #00000014;border:1px solid #e5e7eb;transition:transform .3s,box-shadow .3s,background .3s,color .3s}.dark .services .service-card{background:#1f2937;border:1px solid #374151;color:#e5e7eb}.service-card:hover{transform:translateY(-6px);box-shadow:0 12px 24px #0000001f}.service-icon{width:60px;height:60px;border-radius:12px;background:linear-gradient(135deg,#2563eb,#9333ea);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.service-card h3{font-size:1.4rem;font-weight:700;margin-bottom:.8rem}.service-card p{color:#555;margin-bottom:1rem;line-height:1.6}.dark .services .service-card p{color:#d1d5db}.service-card ul{margin:1rem 0;padding-left:1rem;color:#444}.dark .services .service-card ul{color:#d1d5db}.service-card ul li{margin-bottom:.5rem;list-style:disc}.learn-more{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:#2563eb;font-weight:500;cursor:pointer;transition:color .3s}.learn-more:hover{color:#9333ea}.dark .services .learn-more{color:#60a5fa}.dark .services .learn-more:hover{color:#c084fc}.additional-services{background:#fff;padding:2rem;border-radius:1rem;margin-top:3rem;box-shadow:0 8px 18px #00000014}.dark .services .additional-services{background:#1f2937;color:#e5e7eb}.additional-services h3{text-align:center;margin-bottom:2rem}.additional-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.additional-card{background:#f3f4f6;border-radius:1rem;padding:1.5rem;text-align:center;transition:transform .3s,background .3s,color .3s}.dark .services .additional-card{background:#374151;color:#e5e7eb}.additional-card:hover{transform:scale(1.05);background:#eef2ff}.dark .services .additional-card:hover{background:#4b5563}.additional-icon{width:50px;height:50px;border-radius:10px;background:linear-gradient(135deg,#2563eb,#9333ea);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.additional-card h4{margin-bottom:.5rem;font-weight:700}.additional-card p{font-size:.9rem;color:#555}.dark .services .additional-card p{color:#d1d5db}.cta{margin-top:4rem;padding:2rem 1rem;border-radius:1rem;text-align:center;background:linear-gradient(90deg,#2563eb,#9333ea);color:#fff;display:flex;flex-direction:column;align-items:center;gap:1rem}.cta h3{font-size:1.8rem;margin-bottom:0}.cta p{max-width:700px;margin:0;line-height:1.6;text-align:center}.cta button{padding:.8rem 2rem;border:none;border-radius:50px;background:#fff;color:#2563eb;font-weight:700;cursor:pointer;transition:background .3s,transform .3s}.cta button:hover{background:#f3f4f6;transform:scale(1.05)}@media (min-width: 768px){.cta{flex-direction:row;justify-content:center;gap:2rem;text-align:left}.cta h3,.cta p{text-align:left}}.projects-section{padding:5rem 1rem;background:#fff;color:#111;transition:.3s}.projects-section.dark,.dark .projects-section{background:#111;color:#eee}.projects-header h2{font-size:2.5rem;text-align:center;margin-bottom:1rem}.projects-header h2 span{background:linear-gradient(90deg,#3b82f6,#9333ea);-webkit-background-clip:text;color:transparent}.projects-header p{text-align:center;max-width:700px;margin:0 auto 3rem}.projects-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;margin-bottom:3rem}.filter-btn{padding:.8rem 2rem;border-radius:999px;border:none;cursor:pointer;transition:.3s;background:#eee;color:#111}.projects-section.dark .filter-btn,.dark .projects-section .filter-btn{background:#333;color:#eee}.filter-btn.active{background:linear-gradient(90deg,#3b82f6,#9333ea);color:#fff}.projects-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.project-card{border-radius:1rem;overflow:hidden;position:relative;transition:.3s;background:#fff;border:1px solid #ddd}.projects-section.dark .project-card,.dark .projects-section .project-card{background:#222;border-color:#333}.project-image{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project-card:hover img{transform:scale(1.05)}.project-actions{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;gap:.5rem;opacity:0;transition:.3s;z-index:10}.project-card:hover .project-actions{opacity:1}.project-actions button,.project-actions a{background:#ffffffe6;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#111;transition:.3s}.projects-section.dark .project-actions button,.projects-section.dark .project-actions a,.dark .projects-section .project-actions button,.dark .projects-section .project-actions a{background:#323232e6;color:#eee}.project-actions button:hover,.project-actions a:hover{transform:scale(1.1)}.project-badge{position:absolute;top:.5rem;left:.5rem;padding:.3rem .8rem;font-size:.8rem;font-weight:600;border-radius:999px;background:linear-gradient(90deg,#3b82f6,#9333ea);color:#fff}.project-info{padding:1rem}.project-info h3{margin-bottom:.5rem}.project-info p{font-size:.9rem}.project-modal{position:fixed;inset:0;z-index:9999;background:#000c;display:flex;justify-content:center;align-items:center;padding:1rem}.modal-content{position:relative;max-width:900px;max-height:90vh;overflow-y:auto;border-radius:1rem;background:#fff;padding:2rem;transition:.3s}.projects-section.dark .modal-content,.dark .projects-section .modal-content{background:#222;color:#eee}.close-btn,.nav-btn{position:absolute;padding:.6rem;border-radius:50%;cursor:pointer;z-index:1000;display:flex;align-items:center;justify-content:center;background:#fff;color:#111;transition:transform .3s,background .3s}.projects-section.dark .close-btn,.projects-section.dark .nav-btn,.dark .projects-section .close-btn,.dark .projects-section .nav-btn{background:#333;color:#eee}.close-btn:hover,.nav-btn:hover{transform:scale(1.1)}.close-btn{top:1rem;right:1rem}.nav-btn.prev{top:50%;left:1rem;transform:translateY(-50%)}.nav-btn.next{top:50%;right:1rem;transform:translateY(-50%)}.modal-body img{width:100%;border-radius:.5rem;margin-bottom:1rem}.modal-body h3{margin-bottom:.5rem}.modal-category{display:inline-block;padding:.3rem .8rem;background:linear-gradient(90deg,#3b82f6,#9333ea);color:#fff;border-radius:999px;margin-bottom:1rem}.modal-techs span{display:inline-block;margin:.3rem;padding:.3rem .7rem;background:#eee;border-radius:.5rem;font-size:.85rem}.projects-section.dark .modal-techs span,.dark .projects-section .modal-techs span{background:#333;color:#eee}.modal-links a{margin-right:.5rem;display:inline-flex;align-items:center;justify-content:center;background:#fff;padding:.5rem;border-radius:50%;color:#111;transition:.3s}.projects-section.dark .modal-links a,.dark .projects-section .modal-links a{background:#333;color:#eee}.modal-links a:hover{transform:scale(1.1)}:root{--bg-light: #f9fafb;--bg-dark: #1f2937;--text-light: #111827;--text-dark: #f3f4f6;--card-bg-light: #ffffff;--card-bg-dark: #374151;--bar-bg-light: #e5e7eb;--bar-bg-dark: #4b5563}body{margin:0;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;background-color:var(--bg-light);color:var(--text-light);transition:background-color .3s,color .3s}body.dark{background-color:var(--bg-dark);color:var(--text-dark)}#home,#about,#services,#projects,#skills,#contact{scroll-margin-top:90px}.skills-section{padding:6rem 2rem}.skills-container{max-width:1200px;margin:0 auto}.skills-header{text-align:center;margin-bottom:4rem}.skills-header h2{font-size:3rem;font-weight:700}.gradient-text{background:linear-gradient(90deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.skills-header p{font-size:1.125rem;margin-top:.5rem;color:inherit}.skills-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.skill-card{background-color:var(--card-bg-light);padding:2rem;border-radius:1.5rem;box-shadow:0 10px 20px #0000000d;transition:transform .3s,box-shadow .3s,background-color .3s}body.dark .skill-card{background-color:var(--card-bg-dark)}.skill-card:hover{transform:translateY(-5px);box-shadow:0 15px 25px #0000001a}.skill-icon{width:3rem;height:3rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:1rem}.skill-icon svg{width:1.5rem;height:1.5rem}.skill-item{margin-bottom:1rem}.skill-name{font-weight:500}.skill-level{font-size:.875rem;float:right}.skill-bar{width:100%;background-color:var(--bar-bg-light);border-radius:9999px;height:.6rem;overflow:hidden;margin-top:.25rem;display:flex;align-items:center}body.dark .skill-bar{background-color:var(--bar-bg-dark)}.skill-fill{height:100%;border-radius:9999px;transition:width 1s ease-out;min-width:6px;flex-shrink:0;display:block}.skill-blue{background:linear-gradient(90deg,#3b82f6,#2563eb)!important}.skill-green{background:linear-gradient(90deg,#10b981,#059669)!important}.skill-red{background:linear-gradient(90deg,#ef4444,#b91c1c)!important}.skill-purple{background:linear-gradient(90deg,#8b5cf6,#7c3aed)!important}.achievements-section{margin-top:4rem;text-align:center}.achievements-section h3{font-size:2rem;font-weight:700;margin-bottom:2rem;color:inherit}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem}.achievement-card{background-color:var(--card-bg-light);padding:1.5rem;border-radius:1rem;box-shadow:0 5px 15px #0000000d;transition:transform .3s,background-color .3s}body.dark .achievement-card{background-color:var(--card-bg-dark)}.achievement-card:hover{transform:scale(1.05)}.achievement-icon{width:2.5rem;height:2.5rem;margin:0 auto .75rem;display:flex;align-items:center;justify-content:center}.achievement-icon svg{width:1.5rem;height:1.5rem;color:inherit}.achievement-card h4{font-weight:600;margin-bottom:.25rem;color:inherit}.achievement-card p{font-size:.875rem;color:inherit}.contact-section{padding:80px 20px;background:var(--bg);color:var(--text)}.contact-container{max-width:1200px;margin:auto}.contact-header{text-align:center;margin-bottom:60px}.contact-header h2{font-size:2.5rem;font-weight:700}.gradient-text{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.contact-header p{margin-top:10px;color:var(--label)}.header-underline{width:100px;height:4px;background:var(--accent-gradient);margin:20px auto 0;border-radius:10px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.form-card{background:var(--card-bg);padding:30px;border-radius:16px;border:1px solid var(--border)}.form-title{display:flex;align-items:center;margin-bottom:20px}.icon-box{width:48px;height:48px;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;border-radius:12px;margin-right:15px}.icon-box.small{width:44px;height:44px;border-radius:8px}.icon{color:var(--text)}.form-group{margin-bottom:20px}.form-group label{font-size:14px;display:block;margin-bottom:6px;color:var(--label)}input,select,textarea{width:100%;padding:12px 14px;border-radius:8px;border:1px solid var(--border);background:var(--card-bg);color:var(--text)}input:focus,select:focus,textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.form-row{display:flex;gap:60px}.form-row .form-group{flex:.47;min-width:0}.submit-btn{width:100%;padding:14px;background:var(--accent-gradient);border:none;border-radius:10px;font-weight:700;color:var(--text);display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:transform .2s ease,opacity .2s}.submit-btn:hover{transform:scale(1.05)}.submit-btn:disabled{opacity:.6;transform:scale(1);cursor:not-allowed}.spinner{width:18px;height:18px;border:2px solid var(--text);border-top:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.alert{display:flex;align-items:center;gap:10px;padding:12px;border-radius:10px;margin-bottom:20px}.alert.success{background:#065f4620;border:1px solid #10b981;color:#10b981}.alert.error{background:#7f1d1d20;border:1px solid #ef4444;color:#ef4444}.info-side{display:flex;flex-direction:column;gap:20px}.info-card{background:var(--card-bg);padding:24px;border-radius:16px;border:1px solid var(--border)}.info-card h3{margin-bottom:20px}.info-item{display:flex;align-items:center;gap:15px;padding:12px;margin-bottom:12px;background:var(--card-bg);border-radius:10px;transition:transform .2s ease,background .2s;text-decoration:none;color:var(--text)}.info-item:hover{background:var(--card-bg);transform:scale(1.03)}.label{font-size:13px;color:var(--label)}.value{font-weight:700;color:var(--value)}.social-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.social-link{display:flex;align-items:center;gap:10px;padding:12px;background:var(--card-bg);border-radius:10px;transition:transform .2s;color:var(--label);text-decoration:none}.social-link:hover{transform:scale(1.05);color:var(--text)}.response-card{background:linear-gradient(to bottom right,#1e3a8a20,#6d28d920);padding:24px;border-radius:16px;border:1px solid var(--border);text-align:center}.icon-circle{width:64px;height:64px;background:var(--accent-gradient);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:auto auto 16px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#064e3b;color:#10b981;border-radius:20px;font-size:13px;margin-top:10px}.status-badge .dot{width:8px;height:8px;background:#10b981;border-radius:50%;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 900px){.contact-grid{grid-template-columns:1fr}.form-row{flex-direction:column}}:root{--footer-bg: #f9fafb;--footer-text: #111827;--footer-card: #ffffff;--footer-border: #e5e7eb;--footer-label: #6b7280;--footer-accent: linear-gradient(to right, #2563eb, #9333ea);--footer-link-hover: #2563eb;--heart-color: red}.dark{--footer-bg: #111827;--footer-text: #fff;--footer-card: #1f2937;--footer-border: #374151;--footer-label: #9ca3af;--footer-accent: linear-gradient(to right, #2563eb, #9333ea);--footer-link-hover: #60a5fa;--heart-color: #ef4444}.footer{background:var(--footer-bg);color:var(--footer-text);padding-top:60px;position:relative}.footer-container{max-width:1200px;margin:auto;padding:0 20px 50px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:40px}.footer-column h3.footer-brand{font-size:24px;font-weight:700;color:var(--footer-accent)}.footer-desc{margin:15px 0;font-size:14px;color:var(--footer-label);line-height:1.6}.social-links{display:flex;gap:10px;margin-top:15px}.social-links a{display:inline-flex;padding:10px;background:var(--footer-card);border-radius:8px;color:var(--footer-label);transition:all .3s;text-decoration:none}.social-links a:hover{color:var(--footer-text);background:var(--footer-border);transform:scale(1.1)}.footer-title{font-size:16px;font-weight:600;margin-bottom:20px;color:var(--footer-text)}.footer-column ul{list-style:none;padding:0}.footer-column ul li{margin-bottom:12px}.footer-column ul li a,.footer-column ul li span{font-size:14px;color:var(--footer-label);text-decoration:none;transition:color .3s,transform .3s}.footer-column ul li a:hover{color:var(--footer-link-hover);transform:translate(4px)}.contact-info{display:flex;flex-direction:column;gap:12px}.contact-info a{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--footer-label);text-decoration:none;transition:color .3s}.contact-info a:hover{color:var(--footer-link-hover)}.footer-cta{margin-top:25px;padding:15px;border-radius:8px;background:linear-gradient(to right,#2563eb1a,#9333ea1a);border:1px solid rgba(59,130,246,.2)}.footer-cta p{font-size:13px;color:var(--footer-label);margin-bottom:10px}.footer-cta a{display:inline-flex;align-items:center;gap:6px;background:var(--footer-accent);color:var(--footer-text);font-size:14px;padding:8px 14px;border-radius:6px;text-decoration:none;transition:transform .3s,background .3s}.footer-cta a:hover{background:var(--footer-accent);transform:scale(1.05)}.footer-bottom{border-top:1px solid var(--footer-border);padding:20px;display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:20px}.footer-left{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--footer-label)}.footer-left .heart{color:var(--heart-color);animation:pulse 1.5s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.footer-right{display:flex;align-items:center;gap:20px}.footer-right a{font-size:13px;color:var(--footer-label);text-decoration:none;transition:color .3s}.footer-right a:hover{color:var(--footer-link-hover)}.footer-right button{background:var(--footer-card);border:none;border-radius:6px;padding:6px;color:var(--footer-label);cursor:pointer;transition:all .3s}.footer-right button:hover{background:var(--footer-link-hover);color:var(--footer-text);transform:scale(1.1)}
