@import "https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap";
:root{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--surface-primary:#475569;--surface-secondary:#64748b;--surface-hover:#94a3b8;--border-primary:#475569;--border-secondary:#64748b;--text-primary:#f8fafc;--text-secondary:#e2e8f0;--text-muted:#cbd5e1;--accent-primary:#3b82f6;--accent-secondary:#1d4ed8;--accent-success:#10b981;--accent-warning:#f59e0b;--bg-gradient-onyx:linear-gradient(to bottom right,var(--surface-primary)3%,var(--bg-secondary)97%);--border-gradient-onyx:var(--surface-primary);--bg-gradient-jet:var(--bg-tertiary);--bg-gradient-yellow-1:var(--accent-primary);--bg-gradient-yellow-2:var(--accent-secondary);--text-gradient-yellow:var(--accent-primary);--jet:var(--border-primary);--onyx:var(--surface-primary);--eerie-black-1:var(--bg-secondary);--eerie-black-2:var(--bg-tertiary);--smoky-black:var(--bg-primary);--white-1:var(--text-secondary);--white-2:var(--text-primary);--orange-yellow-crayola:var(--accent-primary);--vegas-gold:var(--accent-warning);--light-gray:var(--text-secondary);--light-gray-70:var(--text-muted);--bittersweet-shimmer:var(--accent-warning);--ff-poppins:"Poppins",sans-serif;--fs-1:24px;--fs-2:18px;--fs-3:17px;--fs-4:16px;--fs-5:15px;--fs-6:14px;--fs-7:13px;--fs-8:11px;--fw-300:300;--fw-400:400;--fw-500:500;--fw-600:600;--shadow-1:-4px 8px 24px #00000040;--shadow-2:0 16px 30px #00000040;--shadow-3:0 16px 40px #00000040;--shadow-4:0 25px 50px #00000026;--shadow-5:0 24px 80px #00000040;--transition-1:.25s ease;--transition-2:.5s ease-in-out;--transition-3:.3s cubic-bezier(.4,0,.2,1);--transition-hover:.2s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}a{text-decoration:none}li{list-style:none}img,.ion-icon,a,button,time,span{display:block}button{font:inherit;text-align:left;cursor:pointer;background:0 0;border:none}input,textarea{width:100%;font:inherit;background:0 0;display:block}::selection{background:var(--orange-yellow-crayola);color:var(--smoky-black)}:focus{outline-color:var(--orange-yellow-crayola)}html{font-family:var(--ff-poppins)}body{background:var(--smoky-black)}.sidebar,article{background:var(--eerie-black-2);border:1px solid var(--jet);box-shadow:var(--shadow-1);z-index:1;border-radius:20px;padding:15px}.separator{background:var(--jet);width:100%;height:1px;margin:16px 0}.icon-box{background:var(--border-gradient-onyx);width:30px;height:30px;color:var(--orange-yellow-crayola);box-shadow:var(--shadow-1);z-index:1;border-radius:8px;justify-content:center;align-items:center;font-size:16px;display:flex;position:relative}.icon-box:before{content:"";background:var(--eerie-black-1);border-radius:inherit;z-index:-1;position:absolute;inset:1px}.icon-box .ion-icon{--ionicon-stroke-width:35px}article{display:none}article.active{animation:.5s backwards fade;display:block}@keyframes fade{0%{opacity:0}to{opacity:1}}.h2,.h3,.h4,.h5{color:var(--white-2);text-transform:capitalize}.h2{font-size:var(--fs-1)}.h3{font-size:var(--fs-2)}.h4{font-size:var(--fs-4)}.h5{font-size:var(--fs-7);font-weight:var(--fw-500)}.article-title{padding-bottom:7px;position:relative}.article-title:after{content:"";background:var(--text-gradient-yellow);border-radius:3px;width:30px;height:3px;position:absolute;bottom:0;left:0}.has-scrollbar::-webkit-scrollbar{width:5px;height:5px}.has-scrollbar::-webkit-scrollbar-track{background:var(--eerie-black-1);border-radius:5px}.has-scrollbar::-webkit-scrollbar-thumb{background:var(--orange-yellow-crayola);border-radius:5px}.has-scrollbar::-webkit-scrollbar-button{width:20px}.content-card{background:var(--border-gradient-onyx);box-shadow:var(--shadow-2);cursor:pointer;z-index:1;border-radius:14px;padding:45px 15px 15px;position:relative}.content-card:before{content:"";background:var(--bg-gradient-jet);border-radius:inherit;z-index:-1;position:absolute;inset:1px}main{min-width:259px;max-width:100vw;margin:15px 12px 75px;overflow-x:hidden}.sidebar{max-height:112px;transition:var(--transition-2);width:100%;min-width:0;margin-bottom:15px;overflow:hidden}.sidebar.active{max-height:405px}.sidebar-info{justify-content:flex-start;align-items:center;gap:15px;display:flex;position:relative}.avatar-box img{border-radius:20px}.info-content .name{color:var(--white-2);font-size:var(--fs-3);font-weight:var(--fw-500);letter-spacing:-.25px;margin-bottom:10px}.info-content .title{color:var(--white-1);background:var(--onyx);font-size:var(--fs-8);font-weight:var(--fw-300);word-wrap:break-word;border-radius:8px;width:max-content;max-width:100%;padding:3px 12px;line-height:1.3}.info_more-btn{color:var(--orange-yellow-crayola);background:var(--border-gradient-onyx);box-shadow:var(--shadow-2);transition:var(--transition-1);z-index:1;border-radius:0 15px;padding:10px;font-size:13px;position:absolute;top:-15px;right:-15px}.info_more-btn:before{content:"";border-radius:inherit;background:var(--bg-gradient-jet);transition:var(--transition-1);z-index:-1;position:absolute;inset:1px}.info_more-btn:hover,.info_more-btn:focus{background:var(--bg-gradient-yellow-1);color:var(--eerie-black-1)}.info_more-btn:hover:before,.info_more-btn:focus:before{background:var(--bg-gradient-yellow-2)}.info_more-btn span{display:none}.sidebar-info_more{opacity:0;visibility:hidden;transition:var(--transition-2)}.sidebar.active .sidebar-info_more{opacity:1;visibility:visible}.contacts-list{grid-template-columns:1fr;gap:16px;display:grid}.contact-item{align-items:center;gap:16px;min-width:100%;display:flex}.contact-info{width:calc(100% - 46px);max-width:calc(100% - 46px)}.contact-title{color:var(--light-gray-70);font-size:var(--fs-8);text-transform:uppercase;margin-bottom:2px}.contact-info :is(.contact-link,time,address){color:var(--white-2);font-size:var(--fs-7)}.contact-info address{font-style:normal}.social-list{justify-content:flex-start;align-items:center;gap:15px;padding-bottom:4px;padding-left:7px;display:flex}.social-item .social-link{color:var(--light-gray-70);font-size:18px}.social-item .social-link:hover{color:var(--light-gray)}.navbar{background:var(--bg-secondary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-primary);width:100%;box-shadow:var(--shadow-2);z-index:5;border-radius:12px 12px 0 0;position:fixed;bottom:0;left:0}.navbar-list{flex-wrap:wrap;justify-content:center;align-items:center;padding:0 10px;display:flex}.navbar-link{color:var(--light-gray);font-size:var(--fs-8);transition:color var(--transition-1);padding:20px 7px}.navbar-link:hover,.navbar-link:focus{color:var(--light-gray-70)}.navbar-link.active{color:var(--orange-yellow-crayola)}.about .article-title{margin-bottom:15px}.about-text{color:var(--light-gray);font-size:var(--fs-6);font-weight:var(--fw-300);line-height:1.6}.about-text p{margin-bottom:15px}.service{margin-bottom:35px}.service-title{margin-bottom:20px}.service-list{grid-template-columns:1fr;gap:20px;display:grid}@media (min-width:580px){.service-list{grid-template-columns:repeat(2,1fr);gap:25px}}@media (min-width:768px){.service-list{grid-template-columns:repeat(2,1fr);gap:30px}}@media (min-width:1024px){.service-list{grid-template-columns:repeat(3,1fr);gap:30px}}.service-item{background:var(--border-gradient-onyx);box-shadow:var(--shadow-2);z-index:1;border-radius:14px;padding:20px;position:relative}.service-item:before{content:"";background:var(--bg-gradient-jet);border-radius:inherit;z-index:-1;position:absolute;inset:1px}.service-icon-box{margin-bottom:10px}.service-icon-box img{filter:invert();opacity:.6;margin:auto}.service-content-box{text-align:center}.service-item-title{margin-bottom:7px}.service-item-text{color:var(--light-gray);font-size:var(--fs-6);font-weight:var(--fw-3);line-height:1.6}.testimonials{margin-bottom:30px}.testimonials-title{margin-bottom:20px}.testimonials-list{scroll-behavior:smooth;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;justify-content:flex-start;align-items:flex-start;gap:15px;margin:0 -15px;padding:25px 15px 35px;display:flex;overflow-x:auto}.testimonials-item{scroll-snap-align:center;min-width:100%}.testimonials-avatar-box>img{box-shadow:var(--shadow-1);border-radius:14px;width:60px;height:auto;position:absolute;top:0;left:0;transform:translate(15px,-25px)}.testimonials-item-title{margin-bottom:7px}.testimonials-text{color:var(--light-gray);font-size:var(--fs-6);font-weight:var(--fw-300);line-clamp:4;-webkit-line-clamp:4;-webkit-box-orient:vertical;line-height:1.6;display:-webkit-box;overflow:hidden}.modal-container{overscroll-behavior:contain;z-index:20;pointer-events:none;visibility:hidden;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.modal-container::-webkit-scrollbar{display:none}.modal-container.active{pointer-events:all;visibility:visible}.overlay{background:var(--bg-primary);opacity:0;visibility:hidden;pointer-events:none;z-index:1;width:100%;height:100vh;transition:var(--transition-1);position:fixed;top:0;left:0}.overlay.active{opacity:.8;visibility:visible;pointer-events:all}.testimonials-modal{background:var(--eerie-black-2);border:1px solid var(--jet);box-shadow:var(--shadow-5);opacity:0;transition:var(--transition-1);z-index:2;border-radius:14px;margin:15px 12px;padding:15px;position:relative;transform:scale(1.2)}.modal-container.active .testimonials-modal{opacity:1;transform:scale(1)}.modal-close-btn{background:var(--onyx);width:32px;height:32px;color:var(--white-2);opacity:.7;border-radius:8px;justify-content:center;align-items:center;font-size:18px;display:flex;position:absolute;top:15px;right:15px}.modal-close-btn:hover,.modal-close-btn:focus{opacity:1}.modal-close-btn .ion-icon{--ionicon-stroke-width:50px}.modal-avatar-box>img{width:max-content;box-shadow:var(--shadow-2);border-radius:14px;margin-bottom:15px}.modal-img-wrapper>img{display:none}.modal-title{margin-bottom:4px}.modal-content time{font-size:var(--fs-6);color:var(--light-gray-70);font-weight:var(--fw-300);margin-bottom:10px}.modal-content p{color:var(--light-gray);font-size:var(--fs-6);font-weight:var(--fw-300);line-height:1.6}.quote-icon{filter:invert()}.featured-projects{margin-bottom:35px}.featured-projects-title{margin-bottom:20px}.featured-projects-list{grid-template-columns:1fr;gap:20px;margin-bottom:30px;display:grid}@media (min-width:768px){.featured-projects-list{grid-template-columns:repeat(2,1fr);gap:25px}}@media (min-width:1024px){.featured-projects-list{grid-template-columns:repeat(3,1fr);gap:30px}}.featured-project-item{background:var(--border-gradient-onyx);box-shadow:var(--shadow-2);z-index:1;transition:var(--transition-1);border-radius:14px;position:relative;overflow:hidden}.featured-project-item:before{content:"";background:var(--bg-gradient-jet);border-radius:inherit;z-index:-1;position:absolute;inset:1px}.featured-project-item:hover{box-shadow:var(--shadow-1);transform:translateY(-5px)}.featured-project-item a{color:inherit;text-decoration:none;display:block}.featured-project-img{border-radius:14px 14px 0 0;margin-bottom:0;position:relative;overflow:hidden}.featured-project-img img{object-fit:cover;width:100%;height:200px;transition:var(--transition-1)}.featured-project-item:hover .featured-project-img img{transform:scale(1.05)}.featured-project-item-icon-box{background:var(--bg-gradient-yellow-1);width:48px;height:48px;color:var(--smoky-black);opacity:0;transition:var(--transition-1);border-radius:12px;justify-content:center;align-items:center;font-size:20px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.featured-project-item:hover .featured-project-item-icon-box{opacity:1}.featured-project-content{padding:20px}.featured-project-title{color:var(--white-2);font-size:var(--fs-4);font-weight:var(--fw-500);margin-bottom:5px}.featured-project-category{color:var(--orange-yellow-crayola);font-size:var(--fs-6);font-weight:var(--fw-400);margin-bottom:10px}.featured-project-description{color:var(--light-gray);font-size:var(--fs-6);font-weight:var(--fw-300);line-clamp:3;-webkit-box-orient:vertical;margin-bottom:15px;line-height:1.6;display:-webkit-box;overflow:hidden}.featured-project-tech-stack{margin-top:15px}.featured-projects-cta{text-align:center}.btn-primary{background:var(--bg-gradient-yellow-1);color:var(--smoky-black);font-size:var(--fs-6);font-weight:var(--fw-500);transition:var(--transition-1);cursor:pointer;border:none;border-radius:8px;padding:12px 24px;text-decoration:none;display:inline-block}.btn-primary:hover{background:var(--bg-gradient-yellow-2);box-shadow:var(--shadow-1);transform:translateY(-2px)}.clients-item img:hover{filter:grayscale()}.article-title,.timeline{margin-bottom:30px}.timeline .title-wrapper{align-items:center;gap:15px;margin-bottom:25px;display:flex}.timeline-list{font-size:var(--fs-6);margin-left:45px}@media (max-width:450px){.timeline-list{margin-left:35px}.timeline-item:not(:last-child):before{left:-25px}.timeline-item:after{left:-28px}}.timeline-item{position:relative}.timeline-item:not(:last-child){margin-bottom:20px}.timeline-item-title{font-size:var(--fs-6);margin-bottom:7px;line-height:1.3}.timeline-list span{color:var(--vegas-gold);font-weight:var(--fw-400);line-height:1.6}.timeline-item:not(:last-child):before{content:"";background:var(--jet);width:1px;height:calc(100% + 50px);position:absolute;top:-25px;left:-30px}.timeline-item:after{content:"";background:var(--text-gradient-yellow);width:6px;height:6px;box-shadow:0 0 0 4px var(--jet);border-radius:50%;position:absolute;top:5px;left:-33px}.timeline-text{color:var(--light-gray);font-weight:var(--fw-300);line-height:1.6}.skills-title{margin-bottom:20px}.skills-list{padding:20px}.skills-item:not(:last-child){margin-bottom:15px}.skill .title-wrapper{align-items:center;gap:5px;margin-bottom:8px;display:flex}.skill .title-wrapper data{color:var(--light-gray);font-size:var(--fs-7);font-weight:var(--fw-300)}.skill-progress-bg{background:var(--eerie-black-2);border-radius:10px;width:100%;height:8px}.skill-progress-fill{background:var(--jet);border-radius:inherit;height:100%}.skills-reference{margin-top:15px;padding:20px}.tech-stack-link{color:var(--accent-primary);transition:var(--transition-1);font-weight:500;text-decoration:none}.tech-stack-link:hover{color:var(--accent-secondary);text-decoration:underline}.filter-list{display:none}.filter-select-box{margin-bottom:25px;position:relative}.filter-select{background:var(--eerie-black-2);color:var(--light-gray);border:1px solid var(--jet);width:100%;font-size:var(--fs-6);font-weight:var(--fw-300);border-radius:14px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.filter-select.active .select-icon{transform:rotate(.5turn)}.select-list{background:var(--eerie-black-2);border:1px solid var(--jet);z-index:2;opacity:0;visibility:hidden;pointer-events:none;border-radius:14px;width:100%;padding:6px;transition:all .15s ease-in-out;position:absolute;top:calc(100% + 6px)}.filter-select.active+.select-list{opacity:1;visibility:visible;pointer-events:all}.select-item button{background:var(--eerie-black-2);color:var(--light-gray);font-size:var(--fs-6);font-weight:var(--fw-300);text-transform:capitalize;border-radius:8px;width:100%;padding:8px 10px}.select-item button:hover{--eerie-black-2:var(--surface-hover)}.project-list{grid-template-columns:1fr;gap:30px;margin-bottom:10px;display:grid}.project-item{display:none}.project-item.active{animation:.25s forwards scaleUp;display:block}@keyframes scaleUp{0%{transform:scale(.5)}to{transform:scale(1)}}.project-item>a{width:100%}.project-img{border-radius:16px;width:100%;height:200px;margin-bottom:15px;position:relative;overflow:hidden}.project-img:before{content:"";z-index:1;width:100%;height:100%;transition:var(--transition-1);background:0 0;position:absolute;top:0;left:0}.project-item>a:hover .project-img:before{background:#00000080}.project-item-icon-box{--scale:.8;background:var(--jet);color:var(--eerie-black-1);transform:translate(-50%,-50%)scale(var(--scale));opacity:0;z-index:1;transition:var(--transition-1);border-radius:12px;padding:18px;font-size:20px;position:absolute;top:50%;left:50%}.project-item>a:hover .project-item-icon-box{--scale:1;opacity:1}.project-item-icon-box .ion-icon{--ionicon-stroke-width:50px}.project-img img{object-fit:cover;width:100%;height:100%;transition:var(--transition-1)}.project-item>a:hover img{transform:scale(1.1)}.project-title,.project-category{margin-left:10px}.project-title{color:var(--white-2);font-size:var(--fs-5);font-weight:var(--fw-400);text-transform:capitalize;line-height:1.3}.project-category{color:var(--light-gray-70);font-size:var(--fs-6);font-weight:var(--fw-300)}.project-content{padding:15px 10px}.project-description{color:var(--text-secondary);font-size:var(--fs-7);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin-bottom:15px;line-height:1.5;display:-webkit-box;overflow:hidden}.project-tech-stack{margin-bottom:12px}.tech-label{color:var(--text-primary);font-size:var(--fs-8);font-weight:var(--fw-500);margin-bottom:5px;display:block}.tech-tags{flex-wrap:wrap;gap:4px;display:flex}.tech-tag{background:var(--surface-primary);color:var(--accent-primary);font-size:var(--fs-8);font-weight:var(--fw-400);border:1px solid var(--border-primary);border-radius:4px;padding:2px 6px}.project-achievements{margin-top:10px}.achievements-label{color:var(--text-primary);font-size:var(--fs-8);font-weight:var(--fw-500);margin-bottom:5px;display:block}.achievements-list{margin:0;padding:0;list-style:none}.achievement-item{color:var(--text-secondary);font-size:var(--fs-8);margin-bottom:3px;padding-left:12px;line-height:1.4;position:relative}.achievement-item:before{content:"•";color:var(--accent-success);position:absolute;top:0;left:0}.project-item>a:hover .project-content{transition:transform .3s;transform:translateY(-2px)}.project-item>a:hover .tech-tag{background:var(--surface-hover);border-color:var(--accent-primary)}.blog-posts{margin-bottom:10px}.blog-posts-list{grid-template-columns:1fr;gap:20px;display:grid}.blog-post-item>a{background:var(--border-gradient-onyx);height:100%;box-shadow:var(--shadow-4);z-index:1;border-radius:16px;position:relative}.blog-post-item>a:before{content:"";border-radius:inherit;background:var(--eerie-black-1);z-index:-1;position:absolute;inset:1px}.blog-banner-box{border-radius:12px;width:100%;height:200px;overflow:hidden}.blog-banner-box img{object-fit:cover;width:100%;height:100%;transition:var(--transition-1)}.blog-post-item>a:hover .blog-banner-box img{transform:scale(1.1)}.blog-content{padding:15px}.blog-meta{justify-content:flex-start;align-items:center;gap:7px;margin-bottom:10px;display:flex}.blog-meta :is(.blog-category,time){color:var(--light-gray-70);font-size:var(--fs-6);font-weight:var(--fw-300)}.blog-meta .dot{background:var(--light-gray-70);border-radius:4px;width:4px;height:4px}.blog-item-title{transition:var(--transition-1);margin-bottom:10px;line-height:1.3}.blog-post-item>a:hover .blog-item-title{color:var(--orange-yellow-crayola)}.blog-text{color:var(--light-gray);font-size:var(--fs-6);font-weight:var(--fw-300);line-height:1.6}.mapbox{border:1px solid var(--jet);border-radius:16px;width:100%;height:250px;margin-bottom:30px;position:relative;overflow:hidden}.mapbox iframe{filter:grayscale();border:none;width:100%;height:100%}.form-title{margin-bottom:20px}.form-input{color:var(--white-2);font-size:var(--fs-6);font-weight:var(--fw-400);border:1.5px solid var(--white-1);border-radius:14px;outline:none;padding:13px 20px}.form-input:focus{border-color:var(--eerie-black-1)}.form-input:focus:invalid{border-color:red}.form-btn{background:var(--border-gradient-onyx);width:100%;color:var(--orange-yellow-crayola);font-size:var(--fs-6);text-transform:capitalize;box-shadow:var(--shadow-3);z-index:1;transition:var(--transition-1);border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:13px 20px;display:flex;position:relative}.form-btn:before{content:"";background:var(--bg-gradient-jet);border-radius:inherit;z-index:-1;transition:var(--transition-1);position:absolute;inset:1px}.form-btn:hover{background:var(--bg-gradient-yellow-1)}.form-btn:hover:before{background:var(--bg-gradient-yellow-2)}.form-btn:disabled{opacity:.7;cursor:not-allowed}.form-btn:disabled:hover{background:var(--border-gradient-onyx)}.form-btn:disabled:hover:before{background:var(--bg-gradient-jet)}@media (min-width:450px){.clients-item{min-width:calc(33.33% - 10px)}.project-img,.blog-banner-box{height:auto}.project-list{grid-template-columns:1fr;gap:25px}.project-content{padding:18px 12px}.tech-tags{gap:6px}.tech-tag{font-size:var(--fs-8);padding:4px 8px}.navbar-link{justify-content:center;align-items:center;min-width:44px;padding:22px 10px;display:flex}}@media (min-width:580px){:root{--fs-1:32px;--fs-2:24px;--fs-3:26px;--fs-4:18px;--fs-6:15px;--fs-7:15px;--fs-8:12px}.sidebar,article{width:520px;margin-inline:auto;padding:30px}.article-title{font-weight:var(--fw-600);padding-bottom:15px}.article-title:after{width:40px;height:5px}.icon-box{border-radius:12px;width:48px;height:48px;font-size:18px}main{margin-top:60px;margin-bottom:100px}.sidebar{max-height:180px;margin-bottom:30px}.sidebar.active{max-height:584px}.sidebar-info{gap:25px}.avatar-box{border-radius:30px}.avatar-box>img{width:120px;height:100%}.info-content .name{margin-bottom:15px}.info-content .title{padding:5px 18px}.info_more-btn{min-width:44px;min-height:44px;padding:10px 15px;top:-30px;right:-30px}.info_more-btn span{font-size:var(--fs-8);display:block}.info_more-btn .ion-icon{display:none}.separator{margin:32px 0}.contacts-list{gap:20px}.contact-info{width:calc(100% - 64px);max-width:calc(100% - 64px)}.navbar{border-radius:20px 20px 0 0}.navbar-list{gap:20px}.navbar-link{--fs-8:14px;min-width:60px;padding:20px 12px}.about .article-title{margin-bottom:20px}.about-text{margin-bottom:40px}.service-item{justify-content:flex-start;align-items:flex-start;gap:18px;padding:30px;display:flex}.service-icon-box{margin-top:5px;margin-bottom:0}.service-content-box{text-align:left}.testimonials-title{margin-bottom:25px}.testimonials-list{gap:30px;margin:0 -30px;padding:30px 30px 35px}.content-card{padding:25px 30px 30px}.testimonials-avatar-box>img{border-radius:20px;width:80px;height:auto;transform:translate(30px,-30px)}.testimonials-item-title{margin-bottom:10px;margin-left:95px}.testimonials-text{line-clamp:2;-webkit-line-clamp:2}.modal-container{padding:20px}.testimonials-modal{border-radius:20px;justify-content:flex-start;align-items:stretch;gap:25px;padding:30px;display:flex}.modal-img-wrapper{flex-direction:column;align-items:center;display:flex}.modal-avatar-box>img{border-radius:18px;margin-bottom:0}.modal-avatar-box img{width:65px;height:auto}.modal-img-wrapper>img{flex-grow:1;width:35px;display:block}.clients-list{gap:50px;margin:0 -30px;padding:45px;scroll-padding-inline:45px}.clients-item{min-width:calc(33.33% - 35px)}.timeline-list{margin-left:65px}.timeline-item:not(:last-child):before{left:-40px}.timeline-item:after{width:8px;height:8px;left:-43px}.skills-item:not(:last-child){margin-bottom:25px}.project-img,.blog-banner-box{border-radius:16px}.project-list{grid-template-columns:repeat(2,1fr);gap:25px}.blog-posts-list{gap:30px}.blog-content{padding:25px}.mapbox{border-radius:18px;height:380px}.input-wrapper{gap:30px;margin-bottom:30px}.form-input{min-height:44px;padding:15px 20px}textarea.form-input{min-height:120px;margin-bottom:30px}.form-btn{--fs-6:16px;min-height:52px;padding:16px 20px}.form-btn .ion-icon{font-size:18px}}@media (min-width:768px){.sidebar,article{width:700px}.has-scrollbar::-webkit-scrollbar-button{width:100px}.contacts-list{grid-template-columns:1fr 1fr;gap:30px 15px}.navbar-link{--fs-8:15px;min-width:70px;padding:20px 15px}.testimonials-modal{gap:35px;max-width:680px}.modal-avatar-box img{width:80px;height:auto}.article-title{padding-bottom:20px}.filter-select-box{display:none}.filter-list{justify-content:flex-start;align-items:center;gap:25px;margin-bottom:30px;padding-left:5px;display:flex}.filter-item button{color:var(--light-gray);font-size:var(--fs-5);transition:var(--transition-1);border-radius:8px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px 12px;display:flex}.project-list{grid-template-columns:repeat(2,1fr);gap:30px}.project-content{padding:20px 15px}.filter-item button:hover{color:var(--light-gray-70)}.filter-item button.active{color:var(--orange-yellow-crayola)}.project-list,.blog-posts-list,.input-wrapper{grid-template-columns:1fr 1fr}.form-btn{width:max-content;margin-left:auto}}@media (min-width:1024px){:root{--shadow-1:-4px 8px 24px #00000020;--shadow-2:0 16px 30px #00000020;--shadow-3:0 16px 40px #00000020}.sidebar,article{width:950px;box-shadow:var(--shadow-5)}main{margin-bottom:60px}.main-content{width:max-content;margin:auto;position:relative}.navbar{width:max-content;box-shadow:none;border-radius:0 20px;padding:0 20px;position:absolute;inset:0 0 auto auto}.navbar-list{gap:30px;padding:0 20px}.navbar-link{font-weight:var(--fw-500)}.service-list{grid-template-columns:1fr 1fr;gap:20px 25px}.testimonials-item{min-width:calc(50% - 15px)}.clients-item{min-width:calc(25% - 38px)}.project-list{grid-template-columns:repeat(3,1fr)}.blog-banner-box{height:230px}}.tech-stack-content{width:100%;max-width:100%;overflow:hidden}.tech-stack-container{width:100%;max-width:100%;margin-bottom:30px;overflow:hidden}.filter-list{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:15px;padding-left:5px;display:flex}.filter-item{list-style:none}.filter-btn{color:var(--light-gray);font-size:var(--fs-6);font-weight:var(--fw-400);border:1px solid var(--border-secondary);background:var(--bg-tertiary);transition:var(--transition-1);cursor:pointer;border-radius:8px;padding:8px 16px}.filter-btn:hover{color:var(--light-gray-70);background:var(--surface-hover)}.filter-btn.active{color:var(--accent-primary);background:var(--surface-primary);border-color:var(--accent-primary)}.tech-grid{grid-template-columns:repeat(2,1fr);gap:20px;width:100%;max-width:100%;display:grid}.tech-card{background:var(--border-gradient-onyx);box-shadow:var(--shadow-2);transition:var(--transition-1);cursor:pointer;z-index:1;border-radius:16px;padding:20px;position:relative}.tech-card:before{content:"";background:var(--bg-gradient-jet);border-radius:inherit;z-index:-1;transition:var(--transition-1);position:absolute;inset:1px}.tech-card:hover{box-shadow:var(--shadow-3);transform:translateY(-5px)}.tech-card:hover:before{background:var(--surface-hover)}.tech-card-content{text-align:center;flex-direction:column;align-items:center;gap:15px;display:flex}.tech-logo-container{background:var(--surface-primary);width:48px;height:48px;transition:var(--transition-1);border-radius:8px;justify-content:center;align-items:center;display:flex}.tech-card:hover .tech-logo-container{background:var(--accent-primary);transform:scale(1.1)}.tech-name{color:var(--text-primary);font-size:var(--fs-5);font-weight:var(--fw-500);margin:0}.tech-category{color:var(--text-secondary);font-size:var(--fs-7);font-weight:var(--fw-300);text-transform:uppercase;letter-spacing:.5px;margin:0}@media (min-width:450px){.tech-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:580px){.tech-grid{grid-template-columns:repeat(4,1fr)}.tech-card{padding:25px}.tech-logo-container{width:56px;height:56px}.tech-logo-container img{width:40px;height:40px}}@media (min-width:768px){.filter-list{gap:25px}.filter-btn{font-size:var(--fs-5);padding:10px 20px}.tech-grid{grid-template-columns:repeat(5,1fr);gap:25px}}@media (min-width:1024px){.tech-grid{grid-template-columns:repeat(6,1fr)}}@media (min-width:1250px){body::-webkit-scrollbar{width:10px}body::-webkit-scrollbar-track{background:var(--smoky-black)}body::-webkit-scrollbar-thumb{background:var(--eerie-black-2);border-radius:20px;box-shadow:inset 1px 1px #ffffff1c,inset -1px -1px #ffffff1c}body::-webkit-scrollbar-button{height:60px}.sidebar,article{width:auto}article{min-height:100%}main{justify-content:center;align-items:stretch;gap:25px;max-width:1200px;margin-inline:auto;display:flex}.main-content{width:75%;min-width:75%;margin:0}.sidebar{z-index:1;height:100%;max-height:max-content;margin-bottom:0;padding-top:60px;position:sticky;top:60px}.sidebar-info{flex-direction:column}.avatar-box img{width:150px;height:auto}.info-content .name{white-space:nowrap;text-align:center}.info-content .title{margin:auto}.info_more-btn{display:none}.sidebar-info_more{opacity:1;visibility:visible}.contacts-list{grid-template-columns:1fr}.contact-info .contact-link{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.contact-info :is(.contact-link,time,address){--fs-7:14px;font-weight:var(--fw-300)}.separator:last-of-type{opacity:0;margin:15px 0}.social-list{justify-content:center}.timeline-text{max-width:700px}}.mapbox{border:1px solid var(--border-primary);background:var(--surface-secondary);border-radius:16px;width:100%;height:250px;margin-bottom:30px;position:relative;overflow:hidden}.mapbox iframe{filter:grayscale()invert(.9)contrast(1.2);width:100%;height:100%;transition:var(--transition-1);border:none}.mapbox:hover iframe{filter:grayscale(.8)invert(.9)contrast(1.2)}.contact-form{margin-bottom:10px}.form-title{color:var(--text-primary);font-weight:var(--fw-500);margin-bottom:20px}.input-wrapper{grid-template-columns:1fr;gap:25px;margin-bottom:25px;display:grid}.form-input{color:var(--text-primary);font-size:var(--fs-6);font-weight:var(--fw-400);border:1.5px solid var(--border-primary);background:var(--surface-secondary);transition:var(--transition-1);border-radius:14px;outline:none;padding:13px 20px}.form-input::placeholder{font-weight:var(--fw-400);color:var(--text-muted)}.form-input:focus{border-color:var(--accent-primary);background:var(--surface-primary);box-shadow:0 0 0 3px #58a6ff1a}textarea.form-input{resize:vertical;height:120px;min-height:100px;max-height:200px;margin-bottom:25px}textarea.form-input::-webkit-resizer{display:none}.form-input:focus:invalid{border-color:var(--accent-warning);box-shadow:0 0 0 3px #d299221a}.form-btn{background:var(--surface-primary);width:100%;color:var(--accent-primary);font-size:var(--fs-6);font-weight:var(--fw-500);text-transform:capitalize;box-shadow:var(--shadow-2);border:1px solid var(--border-primary);z-index:1;transition:var(--transition-1);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:13px 20px;display:flex;position:relative}.form-btn .ion-icon{font-size:16px}.form-btn:hover{background:var(--accent-primary);color:var(--bg-primary);border-color:var(--accent-primary);box-shadow:var(--shadow-3);transform:translateY(-2px)}.form-btn:disabled{opacity:.6;cursor:not-allowed;background:var(--surface-secondary);color:var(--text-muted);border-color:var(--border-secondary)}.form-btn:disabled:hover{background:var(--surface-secondary);color:var(--text-muted);border-color:var(--border-secondary);box-shadow:var(--shadow-2);transform:none}.form-btn:not(:disabled):hover{color:var(--bg-primary)}.form-btn.success{background:var(--accent-success);border-color:var(--accent-success);color:var(--bg-primary)}.form-btn.success:hover{background:var(--accent-success);border-color:var(--accent-success);transform:none}@media (min-width:580px){.mapbox{border-radius:18px;height:380px}.input-wrapper{gap:30px;margin-bottom:30px}.form-input{padding:15px 20px}textarea.form-input{margin-bottom:30px}.form-btn{padding:16px 20px;font-size:16px}.form-btn .ion-icon{font-size:18px}}@media (min-width:768px){.input-wrapper{grid-template-columns:1fr 1fr}textarea.form-input{grid-column:1/-1}}.contact-info-section{margin-bottom:40px}.contact-info-grid{grid-template-columns:1fr;gap:20px;display:grid}.contact-info-card{background:var(--surface-primary);border:1px solid var(--border-primary);transition:var(--transition-1);box-shadow:var(--shadow-2);border-radius:16px;align-items:center;gap:16px;padding:20px;display:flex}.contact-info-card:hover{background:var(--surface-hover);box-shadow:var(--shadow-3);transform:translateY(-2px)}.contact-info-icon{background:var(--accent-primary);color:var(--bg-primary);width:48px;height:48px;transition:var(--transition-1);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:flex}.contact-info-card:hover .contact-info-icon{background:var(--accent-secondary);transform:scale(1.1)}.contact-info-content{flex:1}.contact-info-title{color:var(--text-primary);font-size:var(--fs-6);font-weight:var(--fw-500);margin-bottom:4px}.contact-info-link{color:var(--accent-primary);font-size:var(--fs-7);transition:var(--transition-1);text-decoration:none}.contact-info-link:hover{color:var(--accent-secondary);text-decoration:underline}.contact-info-text{color:var(--text-secondary);font-size:var(--fs-7)}@media (min-width:580px){.contact-info-grid{grid-template-columns:1fr 1fr}}@media (min-width:768px){.contact-info-grid{grid-template-columns:repeat(2,1fr);gap:25px}.contact-info-card{padding:25px}}@media (min-width:1024px){.contact-info-grid{grid-template-columns:repeat(4,1fr)}}.tech-stack-content{padding:0}.tech-filter .filter-list{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:0;padding:0;display:flex}.tech-filter .filter-item{list-style:none}.tech-filter .filter-btn{background:var(--surface-primary);color:var(--text-secondary);border:1px solid var(--border-primary);font-size:var(--fs-7);font-weight:var(--fw-400);text-transform:capitalize;cursor:pointer;transition:var(--transition-1);border-radius:8px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px 16px;display:flex}.tech-filter .filter-btn:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--accent-primary)}.tech-filter .filter-btn.active{background:var(--accent-primary);color:var(--bg-primary);border-color:var(--accent-primary)}.tech-grid{grid-template-columns:repeat(2,1fr);gap:16px;padding:0;display:grid}.tech-card{background:var(--surface-primary);border:1px solid var(--border-primary);transition:var(--transition-1);cursor:pointer;min-height:100px;box-shadow:var(--shadow-1);border-radius:12px;align-items:center;padding:16px;display:flex}.tech-card:hover{background:var(--surface-hover);border-color:var(--accent-primary);box-shadow:var(--shadow-2);transform:translateY(-2px)}.tech-card-content{align-items:center;gap:12px;width:100%;display:flex}.tech-logo-container{background:var(--bg-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:8px;display:flex}.tech-card:hover .tech-logo-container img{filter:brightness(1.1);transform:scale(1.05)}.tech-logo-fallback{background:var(--accent-primary);border-radius:4px;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.tech-name{color:var(--text-primary);font-size:var(--fs-6);font-weight:var(--fw-500);word-break:break-word;margin-bottom:4px;line-height:1.2}.tech-category{color:var(--text-secondary);font-size:var(--fs-8);font-weight:var(--fw-300);text-transform:capitalize;line-height:1.2}@media (min-width:450px){.tech-grid{grid-template-columns:repeat(3,1fr);gap:18px}.tech-card{padding:18px}.tech-filter .filter-list{gap:12px}.tech-filter .filter-btn{padding:10px 18px}}@media (min-width:580px){.tech-grid{grid-template-columns:repeat(4,1fr);gap:20px}.tech-card{min-height:110px;padding:20px}.tech-card-content{gap:16px}.tech-logo-container{width:48px;height:48px;padding:10px}.tech-name{font-size:var(--fs-5)}.tech-category{font-size:var(--fs-7)}.tech-filter .filter-list{gap:15px}.tech-filter .filter-btn{font-size:var(--fs-6);padding:12px 20px}}@media (min-width:768px){.tech-grid{grid-template-columns:repeat(5,1fr);gap:24px}.tech-card{min-height:120px;padding:24px}.tech-logo-container{width:56px;height:56px;padding:12px}.tech-filter .filter-list{justify-content:flex-start;gap:20px}}@media (min-width:1024px){.tech-grid{grid-template-columns:repeat(6,1fr);gap:25px}.tech-card{min-height:130px;padding:25px}.tech-card-content{text-align:center;flex-direction:column;gap:12px}.tech-logo-container{width:64px;height:64px;margin:0 auto;padding:14px}.tech-info{width:100%}}@media (min-width:1200px){.sidebar,article{width:950px;max-width:950px}main{max-width:1200px;margin:60px auto 100px}.sidebar{position:sticky;top:60px}.project-list,.blog-posts-list{grid-template-columns:repeat(3,1fr);gap:35px}.mapbox{height:400px}.input-wrapper{grid-template-columns:1fr 1fr;gap:35px}textarea.form-input{grid-column:1/-1;min-height:150px}}@media (min-width:1400px){.sidebar,article{width:1100px;max-width:1100px}main{max-width:1400px}.project-list,.blog-posts-list{grid-template-columns:repeat(3,1fr);gap:40px}}button,.navbar-link,.filter-btn,.form-btn,.info_more-btn,.modal-close-btn,.tech-card{min-width:44px;min-height:44px}button:focus,.navbar-link:focus,.filter-btn:focus,.form-input:focus,.tech-card:focus{outline:2px solid var(--accent-primary);outline-offset:2px}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:high){:root{--border-primary:#fff;--text-secondary:#fff;--accent-primary:#0ff}}@media print{.navbar,.info_more-btn,.filter-list,.form-btn{display:none!important}.sidebar,article{width:100%!important;box-shadow:none!important;border:1px solid #000!important;margin:0!important;padding:20px!important}body{color:#000!important;background:#fff!important}}.tech-stack-content{margin-bottom:30px}.filter-list{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:0;padding:0;list-style:none;display:flex}.filter-item{flex-shrink:0}.filter-btn{background:var(--surface-secondary);color:var(--text-secondary);font-size:var(--fs-7);font-weight:var(--fw-400);border:1px solid var(--border-primary);cursor:pointer;transition:all var(--transition-hover);text-transform:capitalize;white-space:nowrap;border-radius:8px;padding:8px 16px}.filter-btn:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--accent-primary);transform:translateY(-1px)}.filter-btn.active:hover{background:var(--accent-secondary);border-color:var(--accent-secondary)}.tech-grid{grid-template-columns:repeat(2,1fr);gap:20px;animation:.6s ease-out fadeInUp;display:grid}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tech-card:before{content:"";background:linear-gradient(90deg,#0000,#58a6ff1a,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.tech-card:hover:before{left:100%}.tech-card:hover{background:var(--surface-hover);border-color:var(--accent-primary);transform:translateY(-4px);box-shadow:0 8px 25px #0000004d}.tech-card-content{text-align:center;z-index:1;flex-direction:column;align-items:center;gap:12px;display:flex;position:relative}.tech-logo-container{width:48px;height:48px;transition:transform var(--transition-hover);justify-content:center;align-items:center;display:flex}.tech-card:hover .tech-logo-container{transform:scale(1.1)rotate(5deg)}.tech-logo-container img{object-fit:contain;filter:brightness(.9);width:100%;height:100%;transition:filter var(--transition-hover)}.tech-card:hover .tech-logo-container img{filter:brightness(1.1)}.tech-logo-fallback{background:var(--accent-primary);width:48px;height:48px;transition:all var(--transition-hover);border-radius:8px;justify-content:center;align-items:center;display:flex}.tech-card:hover .tech-logo-fallback{background:var(--accent-secondary);transform:scale(1.1)}.tech-logo-text{color:var(--bg-primary);font-size:var(--fs-4);font-weight:var(--fw-600)}.tech-info{flex-direction:column;gap:4px;display:flex}.tech-name{color:var(--text-primary);font-size:var(--fs-6);font-weight:var(--fw-500);transition:color var(--transition-hover);margin:0}.tech-card:hover .tech-name{color:var(--accent-primary)}.tech-category{color:var(--text-muted);font-size:var(--fs-8);font-weight:var(--fw-300);transition:color var(--transition-hover);margin:0}.tech-card:hover .tech-category{color:var(--text-secondary)}@media (min-width:450px){.tech-grid{grid-template-columns:repeat(3,1fr);gap:25px}}@media (min-width:768px){.tech-grid{grid-template-columns:repeat(4,1fr);gap:30px}.tech-card{padding:24px}.tech-logo-container,.tech-logo-fallback{width:56px;height:56px}}@media (min-width:1024px){.tech-grid{grid-template-columns:repeat(5,1fr)}}@media (min-width:1200px){.tech-grid{grid-template-columns:repeat(6,1fr)}}.service-item{transition:all var(--transition-3)}.service-item:hover{border-color:var(--accent-primary);transform:translateY(-3px);box-shadow:0 8px 25px #0000004d}.service-item:hover .service-icon-box{transform:scale(1.05)}.service-icon-box{transition:transform var(--transition-hover)}.social-item .social-link{transition:all var(--transition-hover);border-radius:6px;padding:4px}.social-item .social-link:hover{background:var(--surface-hover);transform:translateY(-2px)}.contact-item{transition:all var(--transition-hover);border-radius:8px;padding:8px}.contact-item:hover{background:var(--surface-hover)}.navbar-link{position:relative;overflow:hidden}.navbar-link:before{content:"";background:var(--accent-primary);width:0;height:2px;transition:all var(--transition-hover);position:absolute;bottom:0;left:50%;transform:translate(-50%)}.navbar-link:hover:before,.navbar-link.active:before{width:80%}.navbar-link:hover{transform:translateY(-2px)}.timeline-item{transition:all var(--transition-hover);border-radius:8px;margin-left:-8px;margin-right:-8px;padding:8px}.timeline-item:hover{background:var(--surface-hover)}.form-input{transition:all var(--transition-3)}.form-input:hover{border-color:var(--accent-primary);transform:translateY(-1px)}.form-input:focus{transform:translateY(-2px);box-shadow:0 4px 12px #58a6ff33}.form-btn{position:relative;overflow:hidden}.form-btn:after{content:"";background:#ffffff1a;border-radius:50%;width:0;height:0;transition:all .5s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.form-btn:hover:after{width:300px;height:300px}.form-btn:hover{transform:translateY(-2px)}.content-card{transition:all var(--transition-3)}.content-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000004d}.testimonials-item{transition:all var(--transition-3)}.testimonials-item:hover{transform:translateY(-2px)}.clients-item{transition:all var(--transition-hover);border-radius:8px;padding:8px}.clients-item:hover{background:var(--surface-hover)}.clients-item img{transition:all var(--transition-hover)}.clients-item:hover img{filter:invert()brightness(1.2);transform:scale(1.05)}.icon-box{transition:all var(--transition-hover)}.icon-box:hover{transform:translateY(-2px)scale(1.05);box-shadow:0 6px 20px #0000004d}.avatar-box{transition:all var(--transition-hover)}.avatar-box:hover{transform:scale(1.02)}.avatar-box img{transition:all var(--transition-hover)}.avatar-box:hover img{filter:brightness(1.1)}article{animation-duration:.5s;animation-fill-mode:both}article.active{animation-name:slideInFromRight}@keyframes slideInFromRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.loading{animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.service-list .service-item,.tech-grid .tech-card{animation:.6s ease-out both fadeInUp}.service-list .service-item:first-child,.tech-grid .tech-card:first-child{animation-delay:.1s}.service-list .service-item:nth-child(2),.tech-grid .tech-card:nth-child(2){animation-delay:.2s}.service-list .service-item:nth-child(3),.tech-grid .tech-card:nth-child(3){animation-delay:.3s}.service-list .service-item:nth-child(4),.tech-grid .tech-card:nth-child(4){animation-delay:.4s}.service-list .service-item:nth-child(5),.tech-grid .tech-card:nth-child(5){animation-delay:.5s}.service-list .service-item:nth-child(6),.tech-grid .tech-card:nth-child(6){animation-delay:.6s}@media (prefers-reduced-motion:reduce){.service-list .service-item,.tech-grid .tech-card,article.active{animation:none}.tech-card:hover,.service-item:hover,.navbar-link:hover,.form-btn:hover,.content-card:hover,.tech-card:hover .tech-logo-container,.service-item:hover .service-icon-box{transform:none}}.tech-stack-content{margin-top:20px}.tech-stack-container{width:100%}.tech-filter{margin-bottom:30px}.filter-list{flex-wrap:wrap;justify-content:center;gap:10px;margin:0;padding:0;list-style:none;display:flex}.filter-item{margin:0}.filter-btn{background:var(--surface-primary);color:var(--text-secondary);border:1px solid var(--border-primary);font-size:var(--fs-7);font-weight:var(--fw-400);cursor:pointer;transition:var(--transition-1);text-transform:capitalize;border-radius:8px;padding:8px 16px}.filter-btn:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--accent-primary)}.filter-btn.active{background:var(--accent-primary);color:var(--bg-primary);border-color:var(--accent-primary)}.tech-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;margin-top:20px;display:grid}@media (max-width:580px){.tech-grid{grid-template-columns:1fr;gap:15px}}@media (min-width:768px){.tech-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:25px}}@media (min-width:1024px){.tech-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:30px}}.tech-card{background:var(--surface-primary);border:1px solid var(--border-primary);transition:var(--transition-1);cursor:pointer;border-radius:12px;padding:20px;position:relative;overflow:hidden}.tech-card:before{content:"";background:var(--bg-secondary);border-radius:inherit;z-index:-1;position:absolute;inset:1px}.tech-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-2);transform:translateY(-2px)}.tech-card-content{align-items:center;gap:15px;display:flex}.tech-logo-container{flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:relative}.tech-logo-loading{background-color:var(--surface-secondary);border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute}.loading-spinner{border:2px solid var(--border-secondary);border-top:2px solid var(--accent-primary);border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tech-logo-fallback{color:#fff;width:40px;height:40px;font-weight:var(--fw-600);font-size:var(--fs-7);font-family:var(--ff-poppins);border-radius:8px;justify-content:center;align-items:center;display:flex}.tech-logo-text{display:block}.tech-info{flex:1;min-width:0}.tech-name{color:var(--text-primary);font-size:var(--fs-5);font-weight:var(--fw-500);margin-bottom:4px;line-height:1.2}.tech-category{color:var(--text-muted);font-size:var(--fs-7);font-weight:var(--fw-400);text-transform:capitalize;margin:0}@media (max-width:450px){.tech-card{padding:15px}.tech-card-content{gap:12px}.filter-list{gap:8px}.filter-btn{font-size:var(--fs-8);padding:6px 12px}}
