@charset "UTF-8";.floating-whatsapp{position:fixed;right:20px;bottom:24px;z-index:50;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background-color:#25d366;color:#fff;box-shadow:0 4px 12px #00000059;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.floating-whatsapp:hover{transform:scale(1.06);box-shadow:0 6px 16px #0006}.floating-whatsapp:focus-visible{outline:2px solid #fff;outline-offset:3px}.floating-whatsapp svg{flex-shrink:0}@media screen and (max-width:767px){.floating-whatsapp{right:16px;bottom:20px;width:52px;height:52px}}html,body{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#fff;color-scheme:dark;background:linear-gradient(93deg,#3c032b,#36045c);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;width:100%;overflow-x:hidden}button,input,select,textarea{color:inherit;caret-color:currentColor}::placeholder{color:#ffffff8c}.home-banner-container{display:flex;flex-direction:row;align-items:center;justify-content:space-evenly;margin-bottom:32px;padding-inline:64px;opacity:0;transform:translateY(-100%);animation:spawn .8s ease-in-out forwards}.home-banner-container .home-banner-text{margin-right:90px}.home-banner-container .home-banner-text h1{font-size:40px;margin:0;font-family:Gill Sans,Gill Sans MT,Calibri,Trebuchet MS;text-align:left}.home-banner-container .home-banner-text p{font-size:24px;text-align:left;font-family:Palatino,Palatino Linotype,Palatino LT STD,Book Antiqua,Georgia,serif}.home-banner-container .home-banner-image{width:100%;object-fit:cover;aspect-ratio:8/9;max-width:400px}.home-title{text-align:center;padding-top:16px;font-family:Gill Sans,Gill Sans MT,Calibri,Trebuchet MS;opacity:0;transform:translateY(-40px);animation:spawn .8s ease-in-out forwards}.container-projects-list{display:flex;justify-content:center;flex-wrap:wrap;padding:0;opacity:0;transform:translateY(-40px);animation:spawn .8s ease-in-out .2s forwards}.container-services-list{list-style:none;margin:0;padding:0 24px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:stretch;box-sizing:border-box;opacity:0;transform:translateY(-40px);animation:spawn .8s ease-in-out .2s forwards}.project-card{display:flex;flex-direction:column;background-color:#f8f8f828;margin:8px;border-radius:1rem;max-width:300px;opacity:.001;animation:fadeIn .5s ease forwards}.project-images-carousel{position:relative;overflow:hidden;width:100%;aspect-ratio:16/10;background-color:#00000059;border-top-left-radius:1rem;border-top-right-radius:1rem}.project-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;opacity:0;transition:opacity .4s ease-in-out;cursor:zoom-in;pointer-events:none;z-index:0}.project-image.active{opacity:1;z-index:1;pointer-events:auto}.project-carousel-dots{position:absolute;left:50%;bottom:8px;transform:translate(-50%);display:flex;gap:4px;z-index:2}.project-carousel-dot{width:8px;height:8px;border-radius:50%;border:none;padding:0;background-color:#fff6;cursor:pointer}.project-carousel-dot.active{background-color:#ffffffe6}.project-carousel-pause{position:absolute;right:8px;bottom:4px;z-index:2;width:30px;height:30px;border-radius:50%;border:none;padding:0;background:#00000073;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;line-height:1}.project-carousel-pause:hover{background:#0009}.project-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#0000004d;border:none;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;z-index:2}.project-carousel-arrow.prev{left:8px}.project-carousel-arrow.next{right:8px}.project-lightbox{position:fixed;inset:0;z-index:9999;isolation:isolate;display:flex;align-items:stretch;justify-content:stretch;padding:0;margin:0;box-sizing:border-box}.project-lightbox[hidden]{display:none!important}.project-lightbox-backdrop{position:absolute;inset:0;z-index:0;margin:0;padding:0;border:none;width:100%;height:100%;background:#080412f0;cursor:pointer;appearance:none}.project-lightbox-panel{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));box-sizing:border-box;pointer-events:none}.project-lightbox-close{position:absolute;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));z-index:3;width:44px;height:44px;border:2px solid rgba(255,255,255,.35);border-radius:50%;background:#0000008c;color:#fff;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;pointer-events:auto;padding:0}.project-lightbox-close:hover{background:#5a2878bf;border-color:#ffffff8c}.project-lightbox-frame{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:10px;max-width:100%;max-height:100%;pointer-events:none}.project-lightbox-frame .project-lightbox-image,.project-lightbox-frame .project-lightbox-arrow{pointer-events:auto}.project-lightbox-image{display:block;max-width:min(90vw,1100px);max-height:min(82vh,900px);width:auto;height:auto;object-fit:contain;border-radius:.5rem;box-shadow:0 12px 40px #0000008c}.project-lightbox-arrow{flex-shrink:0;width:44px;height:44px;border:none;border-radius:50%;background:#0000008c;color:#fff;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.project-lightbox-arrow:hover{background:#5a2878d9}@media screen and (max-width:767px){.project-lightbox-frame{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;gap:6px;width:100%;max-width:100%;padding-inline:2px;box-sizing:border-box}.project-lightbox-arrow{width:36px;height:36px;font-size:18px;flex-shrink:0}.project-lightbox-image{flex:1 1 auto;min-width:0;max-width:calc(100vw - 92px);max-height:78vh}}.project-content-container{padding:16px}.project-details-button{background-color:#1e0034;color:#fff;text-decoration:none;padding:8px 32px;border-radius:1rem;font-size:.7rem;display:inline-block;margin-top:8px}.project-tecnologies-container{list-style:none;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;padding:0}.project-tecnology{border:.4px solid rgb(30,0,52);margin:4px;padding:4px 8px;border-radius:1rem;font-size:.45rem}.project-name{color:#fff;font-size:1.1rem;font-weight:800;margin:0;text-align:left}.project-description{color:#f5f5f551;font-size:.7rem;margin:0;text-align:left}.service-title-container{display:flex;flex-direction:row;align-items:flex-start;gap:12px;min-width:0}.service-title-container h1{font-family:Gill Sans,Gill Sans MT,Calibri,Trebuchet MS;text-align:left;margin:0 0 12px;flex:1 1 0;min-width:0}.service-title-container img{flex:0 0 auto;width:auto;height:auto;max-width:90px;max-height:90px;object-fit:contain;align-self:center}.service-description{text-align:left;margin:0}.service-card-container{flex:0 1 clamp(260px,42vw,450px);max-width:450px;width:100%;min-width:0;list-style:none;margin-bottom:32px;padding:16px;background-color:#1e0034;border-radius:.5rem;box-sizing:border-box}.service-list{font-weight:500;margin:16px 0;list-style:none;padding:0 16px}.service-list .service-item-icon{margin-right:8px}.service-list li{margin:8px 0}.service-item{margin:0}.contact-container{display:flex;flex-direction:row;justify-content:space-evenly;padding-bottom:32px;margin-top:40px}.contact-container h1{align-self:center}.contact-form{border:.5px solid;border-color:#680439;padding:0 16px;border-radius:8px;width:50vw;box-sizing:border-box}.contact-form .fields-container{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,auto);gap:10px}.text-field{display:flex;flex-direction:column;gap:8px;margin:16px 0}.text-field span{display:block;margin:0}.text-field input{width:100%;box-sizing:border-box}.contact-submit{align-self:center;padding:4px 16px;margin:8px 0;border:none;border-radius:.5rem;background-color:#680439}.label-container{display:flex;flex-direction:column;border-radius:.25rem;padding:8px}.label-container p{margin:0 0 8px;align-self:flex-start}.label-container input{border-color:#f8f8f828;border-radius:.5rem;padding:8px;border-width:1px;background:transparent}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spawn{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@media screen and (max-width:767px){.home-banner-container{margin-bottom:32px;padding-inline:16px;margin-top:96px;flex-direction:column;align-items:center;justify-content:center;opacity:0;transform:translateY(-100%);animation:spawn .8s ease-in-out forwards}.home-banner-container .home-banner-text{margin:0 0 16px;width:100%}.home-banner-container .home-banner-text h1{font-size:28px;font-family:Gill Sans,Gill Sans MT,Calibri,Trebuchet MS;text-align:center}.home-banner-container .home-banner-text p{font-size:18px;text-align:center;font-family:Palatino,Palatino Linotype,Palatino LT STD,Book Antiqua,Georgia,serif;display:none}.home-banner-container .home-banner-image{width:100%;object-fit:cover;aspect-ratio:10/9;max-width:100%}.home-title{text-align:center;padding-top:16px;font-family:Gill Sans,Gill Sans MT,Calibri,Trebuchet MS;margin:0 16px}.container-services-list{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:0 16px}.service-card-container{flex:1 1 100%;max-width:none;width:calc(100% - 32px);min-width:0;margin:12px 16px 32px;border-radius:1rem;box-sizing:border-box}.service-title-container{flex-direction:column;align-items:center;gap:14px}.service-title-container h1{flex:none;width:100%;margin:0;text-align:center;font-size:clamp(1.5rem,4.2vw,2.9rem);line-height:1.25}.service-title-container img{max-width:min(120px,42vw);max-height:min(120px,42vw);align-self:center}.contact-container{flex-direction:column;align-items:stretch;padding:32px 16px;margin-top:24px}.contact-container h1{text-align:center;margin-bottom:24px}.contact-form{margin:0;width:100%;box-sizing:border-box}.contact-form .fields-container{display:flex;flex-direction:column;gap:10px}.contact-form{margin:0 8px}.contact-submit{align-self:center;padding:4px 16px;margin:16px 0;border:none;border-radius:.5rem;background-color:#680439}}
