body{font-family:Inter,sans-serif;color:#1a1a1a}h1,.hero-title,.section-title{font-family:"Andrea Canolli 01",sans-serif}.content-section{font-family:Inter,sans-serif;font-weight:400;line-height:1.5;font-size:1rem}.content-section h2,.content-section h3,.content-section h4,.content-section h5,.content-section h6{font-family:Inter,sans-serif;font-weight:600}.content-section h2{font-size:2.25rem;font-weight:700;margin-bottom:1rem}.content-section h3{font-size:1.875rem;font-weight:600;margin-bottom:.75rem}.social-icon{font-size:1.25rem;transition:transform .2s ease}.social-icon:hover{transform:scale(1.1)}.work-link{position:relative;overflow:hidden;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a;transform:translateY(0);transition:transform .5s ease;display:block}.work-link:hover{transform:translateY(-.75rem)}.work-link img{width:100%;height:20rem;object-fit:cover;transition:transform .5s ease}.work-link:hover img{transform:scale(1.05)}.work-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.6) 50%,transparent 100%);opacity:0;transition:opacity .5s ease,transform .5s ease;display:flex;align-items:flex-end;padding:1rem;transform:translateY(1rem)}.work-link:hover .work-overlay{opacity:1;transform:translateY(0)}.work-title{color:#fff;font-size:.875rem;font-weight:400;line-height:1.5;text-align:center;width:100%;font-family:"Andrea Canolli 01",sans-serif;text-transform:none}.work-link:after{content:"";position:absolute;inset:0;background-color:#6366f11a;opacity:0;transition:opacity .3s ease;pointer-events:none;border:2px solid rgba(99,102,241,0);border-radius:.5rem}.work-link:hover:after{opacity:1}.swiper-fallback{display:none;width:100%;height:100%;position:relative}.no-js .swiper-fallback{display:block}.no-js .swiper{display:none}.skip-link{position:absolute;top:-40px;left:0;background:#4f46e5;color:#fff;padding:8px;z-index:100;transition:top .3s}.skip-link:focus{top:0}.logo-container{position:fixed;top:2rem;left:2rem;z-index:20;display:flex;align-items:center;gap:.5rem;transition:all .3s ease}.logo-container img{height:2rem;width:auto;transition:filter .3s ease}.logo-container span{color:#fff;font-size:1rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.5);transition:color .3s ease,text-shadow .3s ease}.logo-container.light-bg img{filter:none}.logo-container.light-bg span{color:#333;text-shadow:none}.logo-container.dark-bg img{filter:brightness(0) invert(1)}.logo-container.dark-bg span{color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5)}.menu-toggle{position:fixed;top:2rem;right:2rem;z-index:35;background:transparent;border:none;cursor:pointer;padding:.5rem;display:flex;flex-direction:column;justify-content:space-around;width:2rem;height:2rem;transition:all .3s ease;border-radius:4px}.menu-toggle.hidden{opacity:0;pointer-events:none}.menu-toggle span{display:block;width:2rem;height:.25rem;background-color:#fff;border-radius:.125rem;transition:all .3s linear;position:relative;transform-origin:1px}.menu-toggle.light-bg{background-color:#ffffffe6;border-radius:.25rem}.menu-toggle.light-bg span{background-color:#333}.menu-toggle.dark-bg{background-color:transparent;box-shadow:none}.menu-toggle.dark-bg span{background-color:#fff}.nav-menu{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0000008c;z-index:25;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:translate(-100%);transition:transform .3s ease-in-out;padding:2rem}.nav-menu.active{transform:translate(0)}.nav-links{display:flex;flex-direction:column;gap:2rem;margin-bottom:3rem}.nav-link{color:#fff;font-size:2rem;font-weight:600;text-decoration:none;text-shadow:none;transition:all .3s ease;position:relative;display:inline-block}.nav-link:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background-color:#fff;transition:width .3s ease}.nav-link:hover:after{width:100%}.projects-container{display:flex;flex-direction:column;gap:0}.projects-toggle{color:#fff;font-size:2rem;font-weight:600;text-decoration:none;text-shadow:none;transition:all .3s ease;position:relative;display:inline-flex;align-items:center;gap:.5rem;background:none;border:none;cursor:pointer;padding:0;font-family:"Andrea Canolli 01",sans-serif}.projects-toggle:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background-color:#fff;transition:width .3s ease}.projects-toggle:hover:after{width:100%}.projects-toggle i{transition:transform .3s ease}.projects-toggle.active i{transform:rotate(180deg)}.projects-submenu{max-height:0;overflow:hidden;transition:max-height .3s ease-in-out;padding-left:1rem;margin-top:0}.projects-submenu.expanded{max-height:200px;margin-top:.5rem}.projects-submenu a{color:#fff;text-decoration:none;display:block;padding:.5rem 0;font-size:1.2rem;transition:all .3s ease}.projects-submenu a:hover{transform:translate(5px)}.social-icons{display:flex;gap:1.5rem;margin-top:auto}.social-icons a{color:#fff;font-size:1.5rem;transition:transform .2s ease}.social-icons a:hover{transform:scale(1.1)}.close-menu{position:fixed;top:2rem;right:2rem;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;z-index:36;opacity:0;pointer-events:none;transition:opacity .3s ease}.nav-menu.active .close-menu{opacity:1;pointer-events:auto}.swiper-button-next,.swiper-button-prev{color:#ffffffb3!important}.swiper-button-next:after,.swiper-button-prev:after{font-weight:700}.swiper-pagination-bullet{background-color:#ffffffb3!important;opacity:1!important}.swiper-pagination-bullet-active{background-color:#fff!important}.lazy-image{opacity:0;transition:opacity .3s ease}.lazy-image.loaded{opacity:1}@media(max-width:768px){.nav-link,.projects-toggle{font-size:1.5rem}.projects-submenu a{font-size:1rem}.logo-container{top:1rem;left:1rem}.logo-container img{height:1.75rem}.logo-container span{font-size:.875rem}.menu-toggle,.close-menu{top:1rem;right:1rem}@keyframes float{0%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,-55%)}to{transform:translate(-50%,-50%)}}.animate-float{animation:float 4s ease-in-out infinite}}@media(max-width:768px){.work-overlay{opacity:1!important;transform:translateY(0)!important;background:linear-gradient(to top,#000000e6,#0000004d)}}
