@scroll-timeline hero-scroll{source:selector(#hero-section);start:start 90%;end:start 100%}.HeroBanner_heroContainer__YhDww{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:100vh;overflow:hidden}.HeroBanner_backgroundImage__RHQWe{position:absolute;inset:0;background-size:cover;background-position:50%;background-repeat:no-repeat;z-index:1}.HeroBanner_backgroundAnimation__7ibAw{position:absolute;inset:0;background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab);background-size:400% 400%;animation:HeroBanner_gradientBackground__lUXX4 15s ease infinite;z-index:2;opacity:.7;mix-blend-mode:overlay}@keyframes HeroBanner_gradientBackground__lUXX4{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.HeroBanner_contentWrapper__gGN3t{position:relative;z-index:10;max-width:48rem;padding:2rem;margin:0 auto;text-align:center}.HeroBanner_title__vq58r{margin-bottom:1.5rem;font-size:2.25rem;font-weight:700;color:white;line-height:1.2;text-shadow:0 2px 4px rgba(0,0,0,.3);opacity:0;transform:translateY(20px);animation:HeroBanner_fadeInUp__PHRi7 1s linear forwards;animation-timeline:hero-scroll;animation-range:0 40%}.HeroBanner_descriptionBox__K0m4E{padding:1.5rem;background-color:rgba(255,255,255,.15);backdrop-filter:blur(12px);border-radius:.75rem;box-shadow:0 4px 6px rgba(0,0,0,.1);opacity:0;transform:translateY(30px);animation:HeroBanner_fadeInUp__PHRi7 1s forwards;animation-timeline:hero-scroll;animation-range:0 40%}.HeroBanner_description__eOQP7{margin-bottom:1.5rem;font-size:1.25rem;color:white;line-height:1.5;text-shadow:0 1px 2px rgba(0,0,0,.2)}.HeroBanner_ctaButton__NNK02{display:inline-block;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;color:rgb(30,58,138);background-color:white;border-radius:9999px;transition:all .3s ease;box-shadow:0 2px 4px rgba(0,0,0,.1)}.HeroBanner_ctaButton__NNK02:hover{background-color:rgb(239,246,255);transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.15)}@keyframes HeroBanner_fadeInUp__PHRi7{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@supports not (animation-timeline:hero-scroll){.HeroBanner_title__vq58r{opacity:1;transform:translateY(0);animation:HeroBanner_initialFadeIn__VfrsB 1s ease-out}.HeroBanner_descriptionBox__K0m4E{opacity:1;transform:translateY(0);animation:HeroBanner_initialFadeIn__VfrsB 1s ease-out .5s;animation-fill-mode:both}@keyframes HeroBanner_initialFadeIn__VfrsB{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}}@media (min-width:768px){.HeroBanner_title__vq58r{font-size:3rem}}@media (min-width:1024px){.HeroBanner_title__vq58r{font-size:3.75rem}}.TechStack_section__5By1L{padding:4rem 0;background-color:var(--bg-light);color:#2d3748}.TechStack_container__jwIVG{max-width:1200px;margin:0 auto;padding:0 1.5rem}.TechStack_title__pEOht{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:1rem;background:linear-gradient(135deg,#ff6b6b,#4834d4 50%,#20bf6b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.TechStack_subtitle__53AsG{text-align:center;font-size:1.2rem;color:var(--text-secondary,#4a5568);max-width:700px;margin:0 auto 4rem}.TechStack_grid__P9lB1{display:flex;gap:2rem}.TechStack_category__XrcyQ{padding:1.5rem;border-radius:12px;background:rgba(255,255,255,.9);position:relative;overflow:hidden;box-shadow:0 4px 6px rgba(0,0,0,.05)}.TechStack_category__XrcyQ:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--category-gradient)}.TechStack_categoryHeader__NnUdp{margin-bottom:1.5rem}.TechStack_categoryTitle__d1L1Q{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;background:var(--category-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.TechStack_categoryDescription__O_nGo{color:var(--text-secondary,#4a5568);font-size:.9rem;line-height:1.6}.TechStack_techGrid__s8RZD{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}@keyframes TechStack_fadeInUp___zoy2{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.TechStack_category__XrcyQ{animation:TechStack_fadeInUp___zoy2 .6s ease-out forwards;opacity:0}.TechStack_category__XrcyQ:first-child{animation-delay:.2s}.TechStack_category__XrcyQ:nth-child(2){animation-delay:.4s}.TechStack_category__XrcyQ:nth-child(3){animation-delay:.6s}.TechStack_techItem__VpHCx{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--spacing-sm);transition:transform .3s ease}.TechStack_techItem__VpHCx:hover{transform:translateY(-5px)}.TechStack_iconWrapper__LfFZr{font-size:2.5rem;margin-bottom:var(--spacing-sm);color:var(--primary);position:relative;width:60px;height:60px;display:flex;align-items:center;justify-content:center}.TechStack_iconWrapper__LfFZr:after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--primary);opacity:.1;transform:scale(.8);transition:transform .3s ease,opacity .3s ease}.TechStack_techItem__VpHCx:hover .TechStack_iconWrapper__LfFZr:after{transform:scale(1);opacity:.2}.TechStack_techName__RDzRv{font-size:var(--text-sm);color:var(--text);margin-top:var(--spacing-sm)}@keyframes TechStack_iconPulse__AQ4V3{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.TechStack_iconWrapper__LfFZr svg{transition:transform .3s ease,color .3s ease}.TechStack_techItem__VpHCx:hover .TechStack_iconWrapper__LfFZr svg{transform:scale(1.1);color:var(--primary-dark)}@media (max-width:768px){.TechStack_section__5By1L{padding:2rem 0}.TechStack_title__pEOht{font-size:1.75rem}.TechStack_subtitle__53AsG{font-size:.9rem;margin-bottom:1.5rem}.TechStack_categoryTitle__d1L1Q{font-size:1.25rem}.TechStack_techGrid__s8RZD{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}.TechStack_iconWrapper__LfFZr{font-size:2rem;width:50px;height:50px}.TechStack_grid__P9lB1{flex-direction:column}}.TechItem_techItem__mVnhy{position:relative;background:rgba(255,255,255,.95);border-radius:8px;padding:1rem;transition:all .3s ease;cursor:pointer;overflow:hidden;border:2px solid transparent;min-width:120px;min-height:100px;box-shadow:0 2px 4px rgba(0,0,0,.05)}.TechItem_techItem__mVnhy:hover{transform:translateY(-5px);border-color:var(--tech-color);box-shadow:0 5px 15px rgba(0,0,0,.1)}.TechItem_content__Yw689{display:flex;flex-direction:column;align-items:center;gap:.75rem;position:relative}.TechItem_iconWrapper__X_PaZ{position:relative;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:rgba(255,255,255,.1);transition:all .3s ease}.TechItem_techItem__mVnhy:hover .TechItem_iconWrapper__X_PaZ{background:var(--tech-color);transform:scale(1.1)}.TechItem_icon__h6VaK{width:24px;height:24px;color:var(--tech-color);transition:all .3s ease}.TechItem_techItem__mVnhy:hover .TechItem_icon__h6VaK{color:white;transform:rotate(1turn)}.TechItem_techName__tPGFt{font-size:.9rem;font-weight:500;color:#2d3748;text-align:center}.TechItem_description__epkRm{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,.95) 0,rgba(255,255,255,.98));display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;transform:translateY(100%);transition:all .3s ease .1s;z-index:1;border-radius:12px}.TechItem_techItem__mVnhy:hover .TechItem_description__epkRm{opacity:1;transform:translateY(0)}.TechItem_description__epkRm p{color:#2d3748;font-size:.9rem;line-height:1.5;text-align:center;margin:0}.About_section__PL0sM{background-color:var(--background-dark);background-image:url(/GerardoPerrucci_front.webp);background-size:cover;background-position:50%;background-repeat:no-repeat;color:var(--foreground);min-height:var(--max-visible-height)}.About_sectionBg__jKbwr{background-image:linear-gradient(180deg,rgba(0,0,0,.8),rgba(0,64,40,.4));padding:6rem 0;min-height:var(--max-visible-height)}.About_container__CI72x{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-md)}.About_title__xGJAU{font-size:4rem;font-weight:700;margin-bottom:var(--spacing-lg)}.About_content__QELBZ{max-width:500px}.About_leadText__cdBZC{font-size:1.2rem;margin-bottom:var(--spacing-lg)}.About_text__q0doQ{font-size:1.2rem;margin-bottom:var(--spacing-md)}.About_imageContainer__lALO0{display:none}@media screen and (max-width:768px){.About_section__PL0sM{background-image:none;background-color:black;min-height:auto}.About_sectionBg__jKbwr{padding-bottom:1rem;min-height:auto}.About_imageContainer__lALO0{display:block}}.BlogPost_blogPost__koGW3{background:white;border-radius:8px;box-shadow:0 4px 8px rgba(0,0,0,.1);padding:20px;margin:15px 0;transition:transform .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}.BlogPost_blogPost__koGW3:hover{transform:translateY(-5px);box-shadow:0 8px 16px rgba(0,0,0,.2)}.BlogPost_blogPostDescription__Ll4ja{font-size:1em;color:#555;margin:0 0 10px}.BlogPost_blogPostMeta__KO40z{font-size:.9em;color:#999;position:absolute;bottom:10px;left:20px}.BlogPost_postCard__OM1nx{background-color:var(--white);border-radius:10px;overflow:hidden;box-shadow:0 4px 10px rgba(0,0,0,.1);transition:transform .3s ease,box-shadow .3s ease;height:100%;display:flex;flex-direction:column}.BlogPost_postCard__OM1nx:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgba(0,0,0,.15)}.BlogPost_postLink__RUCpz{text-decoration:none;color:inherit;display:flex;flex-direction:column;height:100%}.BlogPost_imageContainer__9A20q{position:relative;width:100%;height:200px;overflow:hidden}.BlogPost_image__SLpdq{object-fit:cover;transition:transform .5s ease}.BlogPost_postCard__OM1nx:hover .BlogPost_image__SLpdq{transform:scale(1.05)}.BlogPost_content__EoeXd{padding:var(--spacing-md);display:flex;flex-direction:column;flex-grow:1}.BlogPost_date__DYOTU{display:block;color:var(--text-light);font-size:var(--text-sm);margin-bottom:var(--spacing-sm);position:absolute;bottom:0;left:0;padding:.5rem;background-color:rgba(0,0,0,.7);color:white}.BlogPost_postTitle__9h9Ks{font-size:1.1rem;margin-bottom:var(--spacing-sm);line-height:1.4;color:var(--text);font-weight:600}.BlogPost_description__a7VIA{color:var(--text-light);font-size:var(--text-base);margin-bottom:var(--spacing-md);line-height:1.5;flex-grow:1}.BlogPost_tags__aQhsP{font-size:var(--text-sm)}.BlogPost_tagsLabel__XX8_m{font-weight:600;color:var(--text)}.BlogPost_tagsList__xhYSl{color:var(--text-light);display:inline-block;padding:4px 12px;margin:0 4px 4px 0;border-radius:999px;background-color:rgb(207,217,186);font-size:.8rem;transition:all .2s ease}.BlogPost_readMore__QuYTr{display:block;color:var(--primary-color,#0070f3);font-weight:500;margin-top:.75rem;position:absolute;bottom:0;left:1rem;right:1rem;width:calc(100% - 2rem);background-color:rgba(255,255,255,.8);padding:1rem;opacity:0;transform:translateY(50px);transition:opacity .3s ease,transform .5s ease}.BlogPost_postLink__RUCpz:hover .BlogPost_readMore__QuYTr{opacity:1;transform:translateY(-10px)}.BlogPost_readMore__QuYTr:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background-color:var(--primary-color,#0070f3);transition:width .8s ease}.BlogPost_postLink__RUCpz:hover .BlogPost_readMore__QuYTr:after{width:100%}@media (max-width:768px){.BlogPost_imageContainer__9A20q{height:180px}}.BlogSection_section__q5xV8{padding:var(--spacing-xl) 0;background-color:var(--white);max-width:var(--max-width);margin:0 auto}.BlogSection_container__LPZYX{max-width:var(--container-width);margin:0 auto;padding:0 var(--spacing-md)}.BlogSection_title__V6x9R{font-size:var(--text-3xl);font-weight:700;text-align:center;margin-bottom:var(--spacing-xl);color:var(--text)}.BlogSection_grid__55QS5{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg)}.BlogSection_postCard__gYDwi{background-color:var(--white);border-radius:10px;overflow:hidden;box-shadow:0 4px 10px rgba(0,0,0,.1);transition:transform .3s ease,box-shadow .3s ease}.BlogSection_postCard__gYDwi:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgba(0,0,0,.15)}.BlogSection_postLink__tMqyY{text-decoration:none;color:inherit;display:block}.BlogSection_imageContainer__j0toI{position:relative;width:100%;height:200px;overflow:hidden}.BlogSection_image__G_di2{object-fit:cover;transition:transform .5s ease}.BlogSection_postCard__gYDwi:hover .BlogSection_image__G_di2{transform:scale(1.05)}.BlogSection_content__xm7KG{padding:var(--spacing-md)}.BlogSection_date__Mwp8p{display:block;color:var(--text-light);font-size:var(--text-sm);margin-bottom:var(--spacing-sm)}.BlogSection_postTitle__a_8p9{font-size:var(--text-xl);margin-bottom:var(--spacing-sm);color:var(--text);line-height:1.4}.BlogSection_description__4DuVG{color:var(--text-light);font-size:var(--text-base);margin-bottom:var(--spacing-md);line-height:1.5}.BlogSection_readMore__rdcf4{display:inline-block;color:var(--primary);font-weight:500;font-size:var(--text-base);position:relative;padding-bottom:2px}.BlogSection_readMore__rdcf4:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--primary);transition:width .3s ease}.BlogSection_postCard__gYDwi:hover .BlogSection_readMore__rdcf4:after{width:100%}@media (max-width:768px){.BlogSection_grid__55QS5{grid-template-columns:1fr}.BlogSection_imageContainer__j0toI{height:220px}}.OpenSource_section__LHP3w{background-color:var(--background-dark);background-image:url(/open-source.webp);background-size:cover;background-position:50%;background-repeat:no-repeat;color:var(--foreground);min-height:var(--max-visible-height)}.OpenSource_sectionBg__YTvf_{background-image:linear-gradient(180deg,rgba(0,0,0,1),rgba(0,53,64,.7));padding:6rem 0;min-height:var(--max-visible-height)}.OpenSource_container__5jUqr{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-md);text-align:right;display:flex;flex-direction:column;align-items:flex-end}.OpenSource_title__u_uit{font-size:4rem;font-weight:700;margin-bottom:var(--spacing-lg)}.OpenSource_content__wvrGb{max-width:600px}.OpenSource_leadText__KNohD{font-size:1.2rem;margin-bottom:var(--spacing-lg)}.OpenSource_text__ckkF0{font-size:1.2rem;margin-bottom:var(--spacing-md)}.Faq_faqSection__HE_Wh{padding:5rem 0;background-color:#f9f9f9}.Faq_container__tFhYc{max-width:800px;margin:0 auto;padding:0 1.5rem}.Faq_faqTitle__hgOLI{font-size:2.5rem;text-align:center;margin-bottom:3rem;color:#333;font-weight:700;position:relative}.Faq_faqTitle__hgOLI:after{content:"";position:absolute;width:80px;height:4px;background-color:#03a87c;bottom:-15px;left:50%;transform:translateX(-50%)}.Faq_faqContainer__fI0rZ{border-radius:8px;overflow:hidden;box-shadow:0 5px 15px rgba(0,0,0,.05)}.Faq_faqItem__hCig_{background-color:#fff;border-bottom:1px solid #eee}.Faq_faqItem__hCig_:last-child{border-bottom:none}.Faq_faqQuestion__MrObq{width:100%;background-color:#fff;border:none;text-align:left;padding:1.5rem;font-size:1.1rem;font-weight:600;color:#333;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease}.Faq_faqQuestion__MrObq:hover{background-color:#f5f5f5}.Faq_faqQuestion__MrObq.Faq_active__EKenQ{background-color:#03a87c;color:white}.Faq_icon__dP9AT{font-size:1.5rem;font-weight:300;margin-left:1rem;transition:transform .3s ease}.Faq_faqQuestion__MrObq.Faq_active__EKenQ .Faq_icon__dP9AT{transform:rotate(180deg)}.Faq_faqAnswer__U4tVB{max-height:0;overflow:hidden;transition:max-height .5s ease}.Faq_faqAnswer__U4tVB.Faq_open__0Jg_B{max-height:1000px}.Faq_faqContent__qqyMw{padding:0 1.5rem 1.5rem;color:#555;line-height:1.6}.Faq_faqContent__qqyMw p{margin-bottom:1rem}.Faq_faqContent__qqyMw p:last-child{margin-bottom:0}.Faq_faqContent__qqyMw ol,.Faq_faqContent__qqyMw ul{margin-left:1.5rem;margin-bottom:1rem}.Faq_faqContent__qqyMw li{margin-bottom:.5rem}.Faq_faqContent__qqyMw strong{font-weight:600;color:#333}.Faq_faqContent__qqyMw{font-family:Charter,Bitstream Charter,"PT Serif",Georgia,serif;font-size:1.1rem}@media (max-width:768px){.Faq_faqSection__HE_Wh{padding:3rem 0}.Faq_faqTitle__hgOLI{font-size:2rem;margin-bottom:2rem}.Faq_faqQuestion__MrObq{padding:1.25rem;font-size:1rem}.Faq_faqContent__qqyMw{padding:0 1.25rem 1.25rem;font-size:1rem}}.BlogBanner_section__XzDi6{background-color:var(--background-dark);background-image:url(/blog-top.webp);background-size:cover;background-position:50%;background-repeat:no-repeat;color:var(--foreground)}.BlogBanner_sectionBg__lqb5V{background-image:linear-gradient(180deg,rgba(0,0,0,1),rgba(64,27,0,.7));padding:6rem 0}.BlogBanner_container__VazmH{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-md)}.BlogBanner_title__61iiG{font-size:6rem;font-weight:700;margin-bottom:var(--spacing-lg)}.BlogBanner_content__f2zKE{max-width:800px}.BlogBanner_leadText__145cJ{font-size:1.5rem;margin-bottom:var(--spacing-lg)}.BlogBanner_text__9WH5R{font-size:1.5rem;margin-bottom:var(--spacing-md)}