.Hero_hero__i8xmH{display:flex;flex-direction:column;align-items:center;padding:2rem;background-color:var(--background);color:var(--foreground);text-align:center}.Hero_hero__i8xmH .Hero_content__6Np_r{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;max-width:1200px;width:100%;gap:2rem;margin-bottom:2rem}.Hero_hero__i8xmH .Hero_content__6Np_r .Hero_text__qtttj{flex:1;min-width:280px;text-align:left}.Hero_hero__i8xmH .Hero_content__6Np_r .Hero_text__qtttj h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;color:var(--foreground)}.Hero_hero__i8xmH .Hero_content__6Np_r .Hero_text__qtttj .Hero_subtitle__iE1BB{font-size:1.3rem;font-weight:500;color:var(--secondary-text);margin-bottom:1.1rem;margin-top:.2rem}.Hero_hero__i8xmH .Hero_content__6Np_r .Hero_text__qtttj .Hero_description__bFpXB{font-size:1.08rem;color:var(--foreground);margin-bottom:1.5rem;line-height:1.6}.Hero_hero__i8xmH .Hero_content__6Np_r .Hero_text__qtttj .Hero_ctaBtn__7WqkE{display:inline-block;font-weight:600;padding:.7rem 2.1rem;border-radius:24px;text-decoration:none;font-size:1.08rem;background:linear-gradient(90deg,var(--accent),var(--gray-400) 80%);color:var(--button-text);box-shadow:0 2px 8px rgba(0,188,212,.08);transition:background .3s,box-shadow .2s,transform .1s;margin-top:.2rem}.Hero_hero__i8xmH .Hero_content__6Np_r .Hero_text__qtttj .Hero_ctaBtn__7WqkE:hover{background:linear-gradient(90deg,var(--accent),var(--gray-500) 80%);transform:translateY(-2px) scale(1.04);box-shadow:0 4px 16px rgba(0,188,212,.13)}.Hero_hero__i8xmH .Hero_content__6Np_r .Hero_text__qtttj p{font-size:1.2rem;color:var(--foreground)}.Hero_hero__i8xmH .Hero_content__6Np_r .Hero_image___r0sS{width:300px;height:300px;border-radius:100%;overflow:hidden;box-shadow:0 0 10px rgba(0,0,0,.1)}.Hero_hero__i8xmH .Hero_content__6Np_r .Hero_image___r0sS img{object-fit:cover}.Hero_hero__i8xmH .Hero_icons__OgDgJ{display:flex;gap:2rem;justify-content:center}.Hero_hero__i8xmH .Hero_icons__OgDgJ img{transition:transform .3s ease}.Hero_hero__i8xmH .Hero_icons__OgDgJ img:hover{transform:scale(1.1)}.IconCard_card__8Qbq5{background:var(--surface);border:1.5px solid var(--gray-200);border-radius:18px;cursor:pointer;padding:1.1rem 1.1rem .7rem;box-shadow:0 2px 8px rgba(0,0,0,.04);transition:transform .18s,box-shadow .18s,border-color .18s}.IconCard_card__8Qbq5:hover{transform:scale(1.06) translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.1);border-color:var(--accent)}.IconCard_card__8Qbq5 img{filter:drop-shadow(0 1px 2px rgba(0,0,0,.04));border-radius:12px;background:var(--gray-100);transition:background .2s}.TechModal_overlay__10H_t{position:fixed;inset:0;background:rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;z-index:200}.TechModal_overlay__10H_t.TechModal_dark__unfXx{background:rgba(30,30,30,.7)}.TechModal_modal__JbCy7{background:var(--surface);border-radius:18px;box-shadow:0 8px 32px rgba(0,0,0,.13);padding:2rem 2.5rem;min-width:340px;max-width:420px;width:100%;position:relative;display:flex;flex-direction:column;gap:1.2rem;animation:TechModal_fadeIn__hthKq .4s}.TechModal_modal__JbCy7 .TechModal_projectImagesMain__4rB3W{display:flex;gap:1rem;margin:.7rem 0 1.1rem;flex-wrap:wrap;justify-content:center}.TechModal_modal__JbCy7 .TechModal_projectImgMain__joUTr{border-radius:12px;background:var(--gray-100);box-shadow:0 2px 12px rgba(0,0,0,.1);object-fit:cover;border:1.5px solid var(--gray-200);width:180px;height:120px;transition:box-shadow .2s,border-color .2s,transform .18s;cursor:pointer}.TechModal_modal__JbCy7 .TechModal_projectImgMain__joUTr:hover{box-shadow:0 6px 24px rgba(0,188,212,.18);border-color:var(--accent);transform:scale(1.04)}.TechModal_modal__JbCy7 .TechModal_techsUsed__41hqO{margin-top:.7rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-size:.98rem;color:var(--secondary-text)}.TechModal_modal__JbCy7 .TechModal_techsUsed__41hqO span:first-child{font-weight:500;color:var(--foreground);margin-right:.4rem}.TechModal_modal__JbCy7 .TechModal_techTag__u7KEF{background:var(--gray-100);color:var(--foreground);border-radius:8px;padding:.18rem .7rem;font-size:.93rem;border:1px solid var(--gray-200);font-weight:500}.TechModal_modal__JbCy7 .TechModal_projectLink__zRJAt{display:inline-block;margin-top:1.1rem;color:var(--accent);font-weight:600;text-decoration:none;font-size:1.08rem;transition:color .2s}.TechModal_modal__JbCy7 .TechModal_projectLink__zRJAt:hover{color:#0097a7;text-decoration:underline}.TechModal_modal__JbCy7 .TechModal_header__lf2_s{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.TechModal_modal__JbCy7 .TechModal_headerIconTitle__vSKsk{display:flex;align-items:center;gap:1rem}.TechModal_modal__JbCy7 .TechModal_headerIconTitle__vSKsk h2{font-size:1.25rem;font-weight:700;color:var(--accent);margin:0}.TechModal_modal__JbCy7 .TechModal_projectImages__OgQU0{display:flex;gap:.7rem;margin-top:.7rem;flex-wrap:wrap;justify-content:flex-start}.TechModal_modal__JbCy7 .TechModal_projectImg__H_f7k{border-radius:10px;background:var(--gray-100);box-shadow:0 1px 6px rgba(0,0,0,.07);object-fit:cover;border:1px solid var(--gray-200);width:90px;height:60px;transition:box-shadow .2s,border-color .2s}.TechModal_modal__JbCy7 .TechModal_projectImg__H_f7k:hover{box-shadow:0 4px 16px rgba(0,188,212,.13);border-color:var(--accent)}.TechModal_modal__JbCy7 .TechModal_icon__gxUNT{border-radius:8px;background:var(--gray-100);padding:.3rem}.TechModal_modal__JbCy7 .TechModal_closeBtn__cfVKD{position:absolute;top:1.2rem;right:1.2rem;font-size:1.1rem;color:var(--gray-500);background:none;border:none;cursor:pointer;transition:color .2s}.TechModal_modal__JbCy7 .TechModal_closeBtn__cfVKD:hover{color:#00bcd4}.TechModal_modal__JbCy7 .TechModal_summary__ilWG_{font-size:1.08rem;color:var(--secondary-text);margin-bottom:.7rem;line-height:1.6}.TechModal_modal__JbCy7 .TechModal_lastProject__lj94c{font-size:.98rem;color:#689f38;font-weight:500;margin-top:.5rem}@keyframes TechModal_fadeIn__hthKq{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.Navbar_navbar__qSqid{width:100%;max-width:1200px;margin:2rem auto 0;padding:1.2rem 2rem;display:flex;align-items:center;justify-content:space-between;font-family:Segoe UI,sans-serif;background:var(--surface);border-radius:18px;box-shadow:0 4px 24px rgba(0,0,0,.07);position:sticky;top:1rem;z-index:100}.Navbar_navbar__qSqid .Navbar_logo__qVABL{font-size:1.7rem;font-weight:700;line-height:1.1;background:linear-gradient(90deg,var(--accent),#8bc34a,var(--accent) 80%);background-size:200% auto;color:rgba(0,0,0,0);background-clip:text;-webkit-background-clip:text;animation:Navbar_gradientMove__yyi2x 2.5s linear infinite alternate;letter-spacing:1px;user-select:none;cursor:pointer;transition:transform .2s;will-change:transform}.Navbar_navbar__qSqid .Navbar_logo__qVABL:hover{transform:scale(1.06) rotate(-2deg)}@keyframes Navbar_gradientMove__yyi2x{to{background-position:200%}}.Navbar_navbar__qSqid .Navbar_links__Su5hC{display:flex;gap:2.2rem}.Navbar_navbar__qSqid .Navbar_links__Su5hC a{color:var(--foreground);text-decoration:none;font-weight:500;font-size:1.05rem;position:relative;padding:.2rem 0;transition:color .2s}.Navbar_navbar__qSqid .Navbar_links__Su5hC a:after{content:"";display:block;width:0;height:2px;background:linear-gradient(to right,var(--accent),#8bc34a);transition:width .3s;border-radius:2px;position:absolute;left:0;bottom:-2px}.Navbar_navbar__qSqid .Navbar_links__Su5hC a:hover{color:var(--accent)}.Navbar_navbar__qSqid .Navbar_links__Su5hC a:hover:after{width:100%}.Navbar_navbar__qSqid .Navbar_hamburger__Aew6g{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;z-index:201}.Navbar_navbar__qSqid .Navbar_hamburger__Aew6g span{width:28px;height:3px;background:var(--accent);border-radius:2px;transition:.3s}@media(max-width:768px){.Navbar_navbar__qSqid .Navbar_hamburger__Aew6g{display:flex;margin-left:auto}.Navbar_navbar__qSqid .Navbar_links__Su5hC{position:absolute;top:70px;left:0;right:0;background:var(--surface);flex-direction:column;gap:1.2rem;padding:1.2rem 2rem;box-shadow:0 8px 32px rgba(0,0,0,.13);border-radius:0 0 18px 18px;opacity:0;pointer-events:none;transform:translateY(-20px);transition:opacity .3s,transform .3s;z-index:200}.Navbar_navbar__qSqid .Navbar_links__Su5hC.Navbar_open__ZqBOL{opacity:1;pointer-events:auto;transform:translateY(0)}.Navbar_navbar__qSqid .Navbar_contactBtn__gqc8L{display:none}}@media(max-width:900px){.Navbar_navbar__qSqid{padding:1rem 1.2rem}.Navbar_navbar__qSqid .Navbar_links__Su5hC{gap:1.2rem}.Navbar_navbar__qSqid .Navbar_logo__qVABL{font-size:1.3rem}}@media(max-width:768px){.Navbar_navbar__qSqid{flex-direction:column;align-items:flex-start;gap:1.2rem;padding:1rem .7rem}.Navbar_navbar__qSqid .Navbar_links__Su5hC{flex-direction:column;gap:.7rem;width:100%}.Navbar_navbar__qSqid .Navbar_contactBtn__gqc8L{align-self:stretch;width:100%}.Navbar_navbar__qSqid .Navbar_contactBtn__gqc8L a{display:block;text-align:center}}.Button_whatsapp__Xr60r{background:#e6f8ee;color:#218c4a;border:1.5px solid #b6eac7;font-weight:600;transition:background .18s,color .18s,box-shadow .18s;display:inline-flex;align-items:center;gap:.5rem;box-shadow:0 2px 8px rgba(37,211,102,.1)}.Button_whatsapp__Xr60r img,.Button_whatsapp__Xr60r svg{margin-right:.5rem;vertical-align:middle}.Button_whatsapp__Xr60r:hover{background:#d2f3e0;color:#128c4b;border-color:#25d366;box-shadow:0 4px 16px rgba(37,211,102,.13)}.dark .Button_whatsapp__Xr60r{background:#232e28!important;color:#b6eac7!important;border:1.5px solid #444c47!important;box-shadow:0 2px 8px rgba(37,211,102,.1)!important}.dark .Button_whatsapp__Xr60r:hover{background:#2e4d3a!important;color:#25d366!important;border-color:#25d366!important}.Button_button__fLh2C{font-weight:600;padding:.5rem 1.2rem;border:none;border-radius:999px;cursor:pointer;transition:background .3s ease,color .3s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.Button_primary__QF4WC{background:linear-gradient(to right,var(--accent),#8bc34a);color:var(--button-text)}.Button_primary__QF4WC:hover{background:linear-gradient(to right,var(--accent),#689f38)}.Button_secondary__1rNVb{background:var(--gray-100);color:var(--foreground)}.Button_secondary__1rNVb:hover{background:var(--gray-200)}.Button_ghost__pzY4s{background:rgba(0,0,0,0);color:var(--accent);border:1px solid var(--accent)}.Button_ghost__pzY4s:hover{background:rgba(0,188,212,.08)}.Button_icon__BPg_A{padding:.5rem;background:rgba(0,0,0,0);color:inherit;border-radius:50%}.Button_icon__BPg_A:hover{background:rgba(0,0,0,.05)}