.about{min-height:100vh;display:flex;align-items:center;flex-direction:column;padding:80px 20px 60px}.about .a_left{flex:1;display:flex;align-items:center;justify-content:center}.about .a_left .a_card{height:150px;width:250px;margin-top:15px}.about .a_left .a_card .a_img{border-radius:30px;height:100%;width:100%;object-fit:cover}.about .a_right{flex:2;display:flex;flex-direction:column;align-items:center;text-align:center}.about .a_right .a_title{font-weight:700}.about .a_right .a_sub{margin:15px 0;font-size:18px}.about .a_right .a_description{font-weight:300;margin:10px}.about .a_right .a_language{margin:0 20px;font-weight:700}@media only screen and (max-width:699px){.about{padding:60px 15px 40px;min-height:auto}.about .a_left{margin-bottom:30px}.about .a_left .a_card{height:200px;width:200px}.about .a_right .a_title{font-size:28px;margin-bottom:15px}.about .a_right .a_sub{font-size:18px;margin:10px 0}.about .a_right .a_description{font-size:16px;margin:10px 0}.about .a_right .a_language{font-size:14px;margin:15px 0}}@media only screen and (min-width:700px){.about{flex-direction:row;padding:100px 20px 80px}.about .a_left .a_card{height:500px;width:300px}.about .a_left .a_card .a_img{filter:drop-shadow(10px 10px 4px #333)}.about .a_right{margin-right:15px}.about .a_right .a_title{font-size:40px}.about .a_right .a_sub{font-size:25px}.about .a_right .a_description{font-size:20px}.about .a_right .a_language{margin:20px 0;font-size:25px}}.intro{display:flex;min-height:100vh;height:100vh;flex-direction:column;position:relative;padding-top:80px}.intro .i_left{flex:1;display:flex;align-items:center;justify-content:center}.intro .i_left .i_left_wrapper{padding:10px;align-items:center;justify-content:center;text-align:center;margin-left:50px}.intro .i_left .i_left_wrapper .i_intro{font-size:20px;font-weight:300}.intro .i_left .i_left_wrapper .i_name{font-size:40px;background:linear-gradient(135deg,#59b246,#4a9a3a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700;margin:10px 0}.intro .i_left .i_left_wrapper .i_title{height:40px;overflow:hidden;width:100%;display:flex;justify-content:center;align-items:center}.intro .i_left .i_left_wrapper .i_title .i_title_wrapper{animation:move 5s ease-in-out infinite alternate}@keyframes move{50%{transform:translateY(-40px)}to{transform:translateY(-80px)}}.intro .i_left .i_left_wrapper .i_title .i_title_wrapper .i_title_item{height:40px;font-size:18px;font-weight:700;color:#2d7a1f;display:flex;align-items:center;justify-content:center;white-space:nowrap}.intro .i_left .i_left_wrapper .i_description{font-size:13px;font-weight:400;margin-top:15px;line-height:1.4}.intro .i_left .i_left_wrapper .i_cta{display:flex;gap:15px;justify-content:center;margin-top:30px;flex-wrap:wrap}.intro .i_left .i_left_wrapper .i_cta .i_cta_btn{padding:12px 30px;font-size:16px;font-weight:600;border:none;border-radius:30px;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;position:relative;overflow:hidden}.intro .i_left .i_left_wrapper .i_cta .i_cta_btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.intro .i_left .i_left_wrapper .i_cta .i_cta_btn:active:before{width:300px;height:300px}.intro .i_left .i_left_wrapper .i_cta .i_cta_btn.i_cta_primary{background-color:#4a8a3a;color:#fff;min-height:44px}.intro .i_left .i_left_wrapper .i_cta .i_cta_btn.i_cta_primary:hover{background-color:#3d7531;transform:translateY(-2px);box-shadow:0 5px 15px #4a8a3a66}.intro .i_left .i_left_wrapper .i_cta .i_cta_btn.i_cta_primary:focus,.intro .i_left .i_left_wrapper .i_cta .i_cta_btn.i_cta_primary:focus-visible{outline:3px solid #005fcc;outline-offset:3px;background-color:#4a8a3a}.intro .i_left .i_left_wrapper .i_cta .i_cta_btn.i_cta_secondary{background-color:transparent;color:#4a8a3a;border:2px solid #4a8a3a;min-height:44px}.intro .i_left .i_left_wrapper .i_cta .i_cta_btn.i_cta_secondary:hover{background-color:#4a8a3a;color:#fff;transform:translateY(-2px);box-shadow:0 5px 15px #4a8a3a4d}.intro .i_left .i_left_wrapper .i_cta .i_cta_btn.i_cta_secondary:focus,.intro .i_left .i_left_wrapper .i_cta .i_cta_btn.i_cta_secondary:focus-visible{outline:3px solid #005fcc;outline-offset:3px;border-color:#4a8a3a}.intro.dark-mode .i_left .i_left_wrapper .i_name{background:linear-gradient(135deg,#7dd862,#59b246);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.intro.dark-mode .i_left .i_left_wrapper .i_title .i_title_wrapper .i_title_item{color:#7dd862}.intro.dark-mode .i_left .i_left_wrapper .i_cta .i_cta_secondary{color:#5fb852;border-color:#5fb852}.intro.dark-mode .i_left .i_left_wrapper .i_cta .i_cta_secondary:hover{background-color:#4a9a3a;color:#fff}.intro.dark-mode .i_left .i_left_wrapper .i_cta .i_cta_secondary:focus-visible{outline-color:#4a9eff;border-color:#5fb852}.intro.dark-mode .i_left .i_left_wrapper .i_cta .i_cta_primary:focus-visible{outline-color:#4a9eff}.intro .i_right{flex:1;position:relative}.intro .i_right .i_bg{clip-path:polygon(100% 0%,100% 52%,100% 100%,25% 100%,0% 50%,25% 0%);background-color:#59b246;width:100%;height:100%;position:absolute;top:0;right:0;transition:transform .1s ease-out}.intro .i_right .i_img{width:100%;height:100%;object-fit:cover;position:absolute;transition:transform .1s ease-out}.intro .i_scroll_indicator{position:absolute;bottom:30px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-10px)}60%{transform:translate(-50%) translateY(-5px)}}.intro .i_scroll_indicator .i_scroll_mouse{width:24px;height:40px;border:2px solid currentColor;border-radius:12px;position:relative}.intro .i_scroll_indicator .i_scroll_mouse .i_scroll_wheel{width:4px;height:8px;background-color:currentColor;border-radius:2px;position:absolute;top:8px;left:50%;transform:translate(-50%);animation:scroll-wheel 2s infinite}@keyframes scroll-wheel{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(12px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.intro .animate-fade-in{animation:fadeIn .8s ease-out}.intro .animate-slide-in{animation:slideInUp .8s ease-out}.intro .animate-fade-in-delay{animation:fadeIn .8s ease-out .3s both}.intro .animate-fade-in-delay-2{animation:fadeIn .8s ease-out .6s both}.intro .animate-slide-in-right{animation:slideInRight 1s ease-out .4s both}@media only screen and (min-width:700px){.intro{flex-direction:row}.intro .i_left .i_left_wrapper{padding:50px;height:50%;display:flex;flex-direction:column;justify-content:space-between}.intro .i_left .i_left_wrapper .i_intro{font-size:30px;font-weight:300}.intro .i_left .i_left_wrapper .i_name{font-size:60px}.intro .i_left .i_left_wrapper .i_title{height:50px}@keyframes move{50%{transform:translateY(-50px)}to{transform:translateY(-100px)}}.intro .i_left .i_left_wrapper .i_title .i_title_wrapper .i_title_item{height:50px;font-size:35px}.intro .i_left .i_left_wrapper .i_description{font-weight:400;font-size:20px;margin-top:20px;line-height:1.5}.intro .i_left .i_left_wrapper .i_cta{margin-top:40px}.intro .i_left .i_left_wrapper .i_cta .i_cta_btn{padding:14px 35px;font-size:18px}}@media only screen and (max-width:400px){.intro .i_left .i_left_wrapper{margin-left:0}.intro .i_left .i_left_wrapper .i_cta{flex-direction:column;align-items:stretch}.intro .i_left .i_left_wrapper .i_cta .i_cta_btn{width:100%}.intro .i_scroll_indicator{bottom:20px}}.skills{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:100px 20px 80px;background:linear-gradient(180deg,transparent 0%,rgba(89,178,70,.05) 100%)}.skills .skills_container{max-width:1200px;width:100%;text-align:center}.skills .skills_title{font-size:40px;font-weight:700;margin-bottom:15px;color:inherit}.skills .skills_subtitle{font-size:18px;color:#4a4a4a;margin-bottom:60px;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.6}.skills .skills_categories{display:grid;grid-template-columns:1fr;gap:40px;margin-top:40px}.skills .skills_category{padding:30px;background-color:#ffffff80;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(89,178,70,.1);transition:transform .3s ease,box-shadow .3s ease}.skills .skills_category:hover{transform:translateY(-5px);box-shadow:0 10px 30px #59b24626}.skills .skills_category .skills_category_title{font-size:24px;font-weight:600;margin-bottom:25px;color:#4a8a3a}.skills .skills_category .skills_list{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;align-items:center}.skills .skills_category .skill_item{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px;background-color:#fff;border-radius:15px;transition:all .3s ease;cursor:pointer;min-width:100px;box-shadow:0 2px 8px #0000001a}.skills .skills_category .skill_item:hover{transform:translateY(-8px) scale(1.05);box-shadow:0 8px 20px #59b2464d;background-color:#f8f9fa}.skills .skills_category .skill_item .skill_icon{font-size:40px;color:#4a8a3a;transition:transform .3s ease}.skills .skills_category .skill_item .skill_icon svg{width:40px;height:40px}.skills .skills_category .skill_item .skill_name{font-size:14px;font-weight:600;color:#333;text-align:center}.skills .skills_category .skill_item:hover .skill_icon{transform:scale(1.2) rotate(5deg)}.skills.dark-mode{background:linear-gradient(180deg,transparent 0%,rgba(125,216,98,.05) 100%)}.skills.dark-mode .skills_subtitle{color:#aaa}.skills.dark-mode .skills_category{background-color:#2a2a2acc;border-color:#7dd86233}.skills.dark-mode .skills_category:hover{box-shadow:0 10px 30px #7dd86233}.skills.dark-mode .skills_category .skills_category_title{color:#7dd862}.skills.dark-mode .skills_category .skill_item{background-color:#2a2a2a;box-shadow:0 2px 8px #0000004d}.skills.dark-mode .skills_category .skill_item:hover{background-color:#333;box-shadow:0 8px 20px #7dd8624d}.skills.dark-mode .skills_category .skill_item .skill_icon{color:#7dd862}.skills.dark-mode .skills_category .skill_item .skill_name{color:#e0e0e0}.skills .animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.skills .animate-on-scroll.visible{opacity:1;transform:translateY(0)}@media only screen and (min-width:768px){.skills .skills_categories{grid-template-columns:repeat(3,1fr);gap:30px}.skills .skills_category .skills_list{gap:15px}.skills .skills_category .skill_item{min-width:90px;padding:15px}.skills .skills_category .skill_item .skill_icon{font-size:35px}.skills .skills_category .skill_item .skill_icon svg{width:35px;height:35px}.skills .skills_category .skill_item .skill_name{font-size:13px}}@media only screen and (max-width:767px){.skills{padding:60px 15px 40px}.skills .skills_title{font-size:32px}.skills .skills_subtitle{font-size:16px;margin-bottom:40px}.skills .skills_categories{gap:30px}.skills .skills_category{padding:20px}.skills .skills_category .skills_category_title{font-size:20px;margin-bottom:20px}.skills .skills_category .skills_list{gap:15px}.skills .skills_category .skill_item{min-width:80px;padding:15px}.skills .skills_category .skill_item .skill_icon{font-size:32px}.skills .skills_category .skill_item .skill_icon svg{width:32px;height:32px}.skills .skills_category .skill_item .skill_name{font-size:12px}}.contact{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:100px 20px 80px;background:linear-gradient(180deg,rgba(89,178,70,.05) 0%,transparent 100%);position:relative}.contact:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 50%,rgba(89,178,70,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(89,178,70,.1) 0%,transparent 50%);pointer-events:none}.contact .contact_container{max-width:1200px;width:100%;text-align:center;position:relative;z-index:1}.contact .contact_title{font-size:40px;font-weight:700;margin-bottom:15px;color:inherit}.contact .contact_subtitle{font-size:18px;color:#4a4a4a;margin-bottom:60px;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.6}.contact .contact_cards{display:grid;grid-template-columns:1fr;gap:30px;margin-top:40px}.contact .contact_card{background-color:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:40px 30px;border:2px solid rgba(89,178,70,.1);transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:20px}.contact .contact_card:hover{transform:translateY(-10px);box-shadow:0 15px 40px #59b24633;border-color:#59b2464d}.contact .contact_card .contact_card_icon{font-size:50px;color:#4a8a3a;margin-bottom:10px;transition:transform .3s ease}.contact .contact_card:hover .contact_card_icon{transform:scale(1.1) rotate(5deg)}.contact .contact_card .contact_card_label{font-size:22px;font-weight:600;margin:0;color:inherit}.contact .contact_card .contact_card_value{font-size:16px;color:#4a4a4a;margin:0;word-break:break-word}.contact .contact_card .contact_card_actions{display:flex;gap:15px;flex-wrap:wrap;justify-content:center;margin-top:10px}.contact .contact_card .contact_card_link{padding:12px 24px;background-color:#4a8a3a;color:#fff;text-decoration:none;border-radius:25px;font-weight:600;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px;min-height:44px}.contact .contact_card .contact_card_link:hover{background-color:#3d7531;transform:translateY(-2px);box-shadow:0 5px 15px #4a8a3a66}.contact .contact_card .contact_card_link:focus{outline:none}.contact .contact_card .contact_card_link:focus-visible{outline:3px solid #005fcc;outline-offset:3px;background-color:#4a8a3a}.contact .contact_card .contact_card_copy{padding:12px 24px;background-color:transparent;color:#4a8a3a;border:2px solid #4a8a3a;border-radius:25px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px;font-size:14px;min-height:44px}.contact .contact_card .contact_card_copy:hover{background-color:#4a8a3a;color:#fff;transform:translateY(-2px)}.contact .contact_card .contact_card_copy:focus{outline:none}.contact .contact_card .contact_card_copy:focus-visible{outline:3px solid #005fcc;outline-offset:3px;border-color:#4a8a3a}.contact .contact_card .contact_card_copy:active{transform:translateY(0)}.contact.dark-mode{background:linear-gradient(180deg,rgba(125,216,98,.05) 0%,transparent 100%)}.contact.dark-mode:before{background-image:radial-gradient(circle at 20% 50%,rgba(125,216,98,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(125,216,98,.1) 0%,transparent 50%)}.contact.dark-mode .contact_subtitle{color:#aaa}.contact.dark-mode .contact_card{background-color:#2a2a2acc;border-color:#7dd86233}.contact.dark-mode .contact_card:hover{box-shadow:0 15px 40px #7dd86233;border-color:#7dd86266}.contact.dark-mode .contact_card .contact_card_icon{color:#5fb852}.contact.dark-mode .contact_card .contact_card_value{color:#aaa}.contact.dark-mode .contact_card .contact_card_copy{color:#5fb852;border-color:#5fb852}.contact.dark-mode .contact_card .contact_card_copy:hover{background-color:#4a9a3a;color:#fff}.contact.dark-mode .contact_card .contact_card_link{background-color:#4a9a3a}.contact.dark-mode .contact_card .contact_card_link:hover{background-color:#3d7531}.contact .animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.contact .animate-on-scroll.visible{opacity:1;transform:translateY(0)}@media only screen and (min-width:768px){.contact .contact_cards{grid-template-columns:repeat(3,1fr);gap:30px}.contact .contact_card{padding:50px 30px}}@media only screen and (max-width:767px){.contact{padding:60px 15px 40px}.contact .contact_title{font-size:32px}.contact .contact_subtitle{font-size:16px;margin-bottom:40px}.contact .contact_card{padding:30px 20px}.contact .contact_card .contact_card_icon{font-size:40px}.contact .contact_card .contact_card_label{font-size:20px}.contact .contact_card .contact_card_value{font-size:14px}.contact .contact_card .contact_card_actions{flex-direction:column;width:100%;gap:10px}.contact .contact_card .contact_card_actions .contact_card_link,.contact .contact_card .contact_card_actions .contact_card_copy{width:100%;justify-content:center}}.projectList{padding:60px 15px 40px;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;min-height:auto}.projectList .pl_bg{clip-path:polygon(64% 0,0 62%,100% 100%);background-color:#59b246;width:100%;height:100%;position:absolute;top:0;right:0}.projectList .pl_card{position:relative}.projectList .pl_card .pl_texts .pl_title{font-size:40px;font-weight:600}.projectList .pl_card .pl_texts .pl_description{visibility:hidden}.projectList .pl_card .pl_texts .pl_error{color:#d32f2f;font-size:14px;margin-top:10px}.projectList .pl_card .pl_loading{padding:40px 20px}.projectList .pl_card .pl_list{width:100%;display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:0}.projectList .project_skeleton{width:100%;max-width:400px;margin:20px 10px;border:2px solid #ccc;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.projectList .project_skeleton .project_skeleton_browser{height:20px;background-color:#f3f2f2;display:flex;align-items:center;padding:0 8px;gap:6px}.projectList .project_skeleton .project_skeleton_circle{width:6px;height:6px;border-radius:50%;background-color:#ddd}.projectList .project_skeleton .project_skeleton_content{padding:15px;display:flex;flex-direction:column;gap:15px}.projectList .project_skeleton .project_skeleton_title{height:24px;width:70%;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);background-size:200% 100%;border-radius:4px;animation:loading 1.5s infinite}.projectList .project_skeleton .project_skeleton_description{display:flex;flex-direction:column;gap:8px}.projectList .project_skeleton .project_skeleton_line{height:12px;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);background-size:200% 100%;border-radius:4px;animation:loading 1.5s infinite}.projectList .project_skeleton .project_skeleton_line.short{width:60%}.projectList .project_skeleton .project_skeleton_technologies{display:flex;gap:8px;flex-wrap:wrap}.projectList .project_skeleton .project_skeleton_badge{height:24px;width:60px;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);background-size:200% 100%;border-radius:12px;animation:loading 1.5s infinite}.projectList .project_skeleton .project_skeleton_actions{display:flex;gap:8px}.projectList .project_skeleton .project_skeleton_button{height:36px;width:100px;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);background-size:200% 100%;border-radius:18px;animation:loading 1.5s infinite}.projectList .project_skeleton .project_skeleton_image{height:200px;width:100%;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.projectList .project_skeleton.dark-mode{border-color:#444;background-color:#2a2a2a}.projectList .project_skeleton.dark-mode .project_skeleton_browser{background-color:#1a1a1a}.projectList .project_skeleton.dark-mode .project_skeleton_circle{background-color:#444}.projectList .project_skeleton.dark-mode .project_skeleton_title,.projectList .project_skeleton.dark-mode .project_skeleton_line,.projectList .project_skeleton.dark-mode .project_skeleton_badge,.projectList .project_skeleton.dark-mode .project_skeleton_button,.projectList .project_skeleton.dark-mode .project_skeleton_image{background:linear-gradient(90deg,#333 25%,#444,#333 75%);background-size:200% 100%}@media only screen and (min-width:700px){.projectList{padding:100px 100px 80px}.projectList .pl_card .pl_texts .pl_description{margin:20px 0;visibility:visible;font-size:16px}}.project{width:100%;max-width:400px;margin:20px 10px;border:2px solid #ccc;border-radius:10px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column}.project:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0000001a}.project:focus-within{outline:2px solid #59b246;outline-offset:4px;border-radius:14px}.project .p_browser{height:20px;background-color:#f3f2f2;display:flex;align-items:center;position:sticky;z-index:2}.project .p_browser .p_circle{width:6px;height:6px;border-radius:50%;margin:3px;background-color:#fff}.project .p_content{padding:15px;display:flex;flex-direction:column;flex:1;overflow:hidden}.project .p_top{display:flex;flex-direction:column;gap:10px;min-height:0;flex-shrink:1}.project .p_bottom{display:flex;flex-direction:column;gap:10px;margin-top:auto;flex-shrink:0}.project .p_title{font-size:18px;font-weight:600;margin:0;color:inherit;flex-shrink:0;line-height:1.3}.project .p_description{font-size:13px;color:#4a4a4a;line-height:1.5;margin:0}.project .p_technologies{display:flex;flex-wrap:wrap;gap:6px}.project .p_tech_badge{display:inline-block;padding:4px 10px;background-color:#f0f0f0;color:#333;border-radius:12px;font-size:11px;font-weight:500;text-transform:capitalize;transition:all .3s ease}.project.dark-mode{background-color:#2a2a2a;border-color:#444}.project.dark-mode .p_browser{background-color:#1a1a1a}.project.dark-mode .p_title{color:#f0f0f0}.project.dark-mode .p_description{color:#bbb}.project.dark-mode .p_tech_badge{background-color:#3a3a3a;color:#e0e0e0}.project.dark-mode .p_img{background-color:#1a1a1a}.project .p_links{display:flex;gap:8px}.project .p_link_btn{display:inline-flex;align-items:center;gap:5px;padding:10px 16px;border-radius:6px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s ease;background-color:#4a8a3a;color:#fff;border:none;cursor:pointer;min-height:44px}.project .p_link_btn svg{width:16px;height:16px;flex-shrink:0}.project .p_link_btn{display:inline-flex;align-items:center;gap:6px}.project .p_link_btn:hover{background-color:#3d7531;transform:translateY(-2px);box-shadow:0 4px 8px #4a8a3a4d}.project .p_link_btn:focus{outline:none}.project .p_link_btn:focus-visible{outline:3px solid #005fcc;outline-offset:3px;background-color:#4a8a3a}.project .p_link_btn.p_link_repo{background-color:#24292e}.project .p_link_btn.p_link_repo:hover{background-color:#1a1e22;box-shadow:0 4px 8px #0000004d}.project .p_link_btn.p_link_repo:focus{outline:none}.project .p_link_btn.p_link_repo:focus-visible{outline:3px solid #005fcc;outline-offset:2px;background-color:#24292e}.project .p_img{width:100%;height:140px;object-fit:cover;background-color:#f5f5f5;border-radius:6px}.project .p_img[src=""]{display:none}@media only screen and (min-width:550px){.project{width:45%;max-width:none}.project .p_title{font-size:19px}.project .p_description{font-size:13px}.project .p_tech_badge{font-size:11px;padding:4px 10px}.project .p_img{height:150px}}@media only screen and (min-width:900px){.project{width:30%}.project .p_title{font-size:20px}.project .p_description{font-size:14px}.project .p_tech_badge{font-size:12px;padding:5px 12px}.project .p_img{height:160px}}.footer{width:100%;padding:40px 20px;border-top:1px solid #e0e0e0;transition:all .3s ease;box-sizing:border-box;overflow:hidden}.footer .footer_content{max-width:1200px;width:100%;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:20px;box-sizing:border-box}.footer .footer_social{display:flex;gap:20px;align-items:center;flex-wrap:wrap;justify-content:center}.footer .footer_link{color:#333;transition:all .3s ease;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 15px;border-radius:12px;position:relative;overflow:hidden}.footer .footer_link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(89,178,70,.1),transparent);transition:left .5s ease}.footer .footer_link:hover:before{left:100%}.footer .footer_link .footer_link_icon{display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.footer .footer_link .footer_link_icon svg{width:28px;height:28px;transition:all .3s ease}.footer .footer_link .footer_link_label{font-size:12px;font-weight:500;opacity:0;transform:translateY(-5px);transition:all .3s ease}.footer .footer_link:hover{color:#4a8a3a;background-color:#4a8a3a0d;transform:translateY(-3px)}.footer .footer_link:hover .footer_link_icon{transform:scale(1.15) rotate(5deg)}.footer .footer_link:hover .footer_link_icon svg{filter:drop-shadow(0 2px 4px rgba(74,138,58,.3))}.footer .footer_link:hover .footer_link_label{opacity:1;transform:translateY(0)}.footer .footer_link:focus{outline:none}.footer .footer_link:focus-visible{outline:3px solid #005fcc;outline-offset:4px;border-radius:4px}.footer .footer_text{font-size:14px;color:#888;margin:0;text-align:center;max-width:100%;padding:0 10px;box-sizing:border-box;word-wrap:break-word;line-height:1.6}.footer .footer_text .footer_heart{display:inline-block;animation:heartbeat 1.5s ease-in-out infinite;margin:0 4px}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.footer.dark-mode{border-top-color:#333}.footer.dark-mode .footer_link{color:#bbb}.footer.dark-mode .footer_link:before{background:linear-gradient(90deg,transparent,rgba(125,216,98,.1),transparent)}.footer.dark-mode .footer_link:hover{color:#5fb852;background-color:#5fb8520d}.footer.dark-mode .footer_link:hover .footer_link_icon svg{filter:drop-shadow(0 2px 4px rgba(95,184,82,.3))}.footer.dark-mode .footer_link:focus-visible{outline:3px solid #4a9eff;outline-offset:4px}.footer.dark-mode .footer_text{color:#777}@media only screen and (min-width:900px){.footer .footer_content{flex-direction:row;justify-content:space-between;align-items:center;padding:0 20px}.footer .footer_social{gap:35px}.footer .footer_link svg{width:30px;height:30px}.footer .footer_text{font-size:14px;text-align:right;padding:0}}@media only screen and (max-width:400px){.footer{padding:30px 15px}.footer .footer_text{font-size:12px}.footer .footer_social{gap:25px}.footer .footer_link svg{width:26px;height:26px}}.language-switcher{display:flex;gap:5px;background-color:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:5px;border-radius:20px;box-shadow:0 2px 10px #0000001a;flex-shrink:0}.language-switcher .lang-button{padding:10px 14px;border:none;background-color:transparent;color:#222;font-size:14px;font-weight:600;cursor:pointer;border-radius:15px;transition:all .3s ease;font-family:Poppins,sans-serif;min-height:44px;min-width:44px}.language-switcher .lang-button:hover{background-color:#4a8a3a26;color:#1a6b10}.language-switcher .lang-button.active{background-color:#4a8a3a;color:#fff}.language-switcher .lang-button:focus{outline:none}.language-switcher .lang-button:focus-visible{outline:3px solid #005fcc;outline-offset:2px;background-color:#4a8a3a1a}.language-switcher.dark-mode{background-color:#323232f2}.language-switcher.dark-mode .lang-button{color:#f0f0f0}.language-switcher.dark-mode .lang-button:hover{background-color:#59b24633;color:#7dd862}.language-switcher.dark-mode .lang-button.active{background-color:#4a8a3a;color:#fff}.language-switcher.dark-mode .lang-button:focus-visible{outline:3px solid #4a9eff;outline-offset:2px;background-color:#7dd8621a}@media only screen and (min-width:769px)and (max-width:1024px){.language-switcher{gap:3px;padding:3px;border-radius:15px}.language-switcher .lang-button{padding:6px 10px;font-size:12px}}@media only screen and (max-width:700px){.language-switcher{gap:3px;padding:3px;border-radius:15px}.language-switcher .lang-button{padding:6px 8px;font-size:11px}}@media only screen and (max-width:480px){.language-switcher{gap:2px;padding:2px;border-radius:12px}.language-switcher .lang-button{padding:5px 7px;font-size:10px}}.toggle{width:56px;height:32px;border-radius:20px;border:2px solid #666;background-color:#fff;display:flex;align-items:center;justify-content:space-around;position:relative;flex-shrink:0;transition:all .3s ease;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle .t_icon{width:15px;height:15px;z-index:1}.toggle .t_button{width:28px;height:28px;border-radius:50%;background-color:#666;position:absolute;transition:left .3s ease,background-color .3s ease;left:2px;pointer-events:none}.toggle.light .t_button{left:26px}.toggle.dark .t_button{left:2px}.toggle:hover{border-color:#4a8a3a}.toggle:focus,.toggle:focus-visible{outline:3px solid #005fcc;outline-offset:3px;border-color:#4a8a3a}@media only screen and (max-width:480px){.toggle{width:50px;height:28px}.toggle .t_icon{width:13px;height:13px}.toggle .t_button{width:24px;height:24px}.toggle.light .t_button{left:24px}.toggle.dark .t_button{left:2px}}.logo{width:45px;height:45px;display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.logo:hover{transform:scale(1.1) rotate(5deg)}.logo svg{width:100%;height:100%;filter:drop-shadow(0 2px 4px rgba(89,178,70,.3))}.logo svg .logo_bg{fill:transparent;stroke:#59b246;transition:all .3s ease}.logo svg .logo_letter{stroke:#59b246;stroke-linecap:round;stroke-linejoin:round;transition:all .3s ease}.logo.dark-mode svg{filter:drop-shadow(0 2px 4px rgba(125,216,98,.3))}.logo.dark-mode svg .logo_bg{stroke:#7dd862}.logo.dark-mode svg .logo_letter{stroke:#7dd862}.logo.dark-mode:hover svg{filter:drop-shadow(0 2px 8px rgba(125,216,98,.5))}.logo:hover svg{filter:drop-shadow(0 4px 8px rgba(89,178,70,.5))}.logo:hover svg .logo_bg{stroke-width:3}@media only screen and (max-width:768px){.logo{width:40px;height:40px}}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:transparent;transition:all .3s ease;padding:15px 20px;overflow:visible}.navbar.scrolled{background-color:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 10px #0000001a;padding:10px 20px}.navbar .navbar_container{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;width:100%;gap:20px;min-width:0}.navbar .navbar_right{display:flex;align-items:center;gap:20px;flex-shrink:0;min-width:0}.navbar .navbar_controls{display:flex;align-items:center;gap:10px;z-index:1;flex-shrink:0}.navbar .navbar_menu{order:0;min-width:0;overflow:visible}.navbar .navbar_logo{background:none;border:none;cursor:pointer;padding:5px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.navbar .navbar_logo:hover{transform:scale(1.05)}.navbar .navbar_logo:focus{outline:none}.navbar .navbar_logo:focus-visible{outline:3px solid #4a9eff;outline-offset:2px}.navbar .navbar_logo:active{transform:scale(.95)}.navbar .navbar_toggle{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:5px;gap:5px}.navbar .navbar_toggle span{width:25px;height:3px;background-color:currentColor;transition:all .3s ease;border-radius:2px}.navbar .navbar_toggle:focus{outline:2px solid currentColor;outline-offset:2px;border-radius:4px}.navbar .navbar_menu{display:flex;list-style:none;gap:30px;margin:0;padding:0;align-items:center;flex-wrap:nowrap}.navbar .navbar_menu .navbar_link{background:none;border:none;color:inherit;font-size:16px;font-weight:500;cursor:pointer;padding:8px 16px;border-radius:6px;transition:all .3s ease;position:relative;white-space:nowrap}.navbar .navbar_menu .navbar_link:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%) scaleX(0);width:80%;height:2px;background-color:#59b246;transition:transform .3s ease}.navbar .navbar_menu .navbar_link:hover{color:#59b246;transform:translateY(-2px)}.navbar .navbar_menu .navbar_link:hover:after{transform:translate(-50%) scaleX(1)}.navbar .navbar_menu .navbar_link.active{color:#59b246;font-weight:600}.navbar .navbar_menu .navbar_link.active:after{transform:translate(-50%) scaleX(1)}.navbar .navbar_menu .navbar_link:focus{outline:none}.navbar .navbar_menu .navbar_link:focus-visible{outline:3px solid #005fcc;outline-offset:3px}.navbar.dark-mode.scrolled{background-color:#222222f2;box-shadow:0 2px 10px #0000004d}.navbar.dark-mode .navbar_link{color:#e0e0e0}.navbar.dark-mode .navbar_link:hover,.navbar.dark-mode .navbar_link.active{color:#7dd862}.navbar.dark-mode .navbar_link:hover:after,.navbar.dark-mode .navbar_link.active:after{background-color:#7dd862}@media only screen and (min-width:769px)and (max-width:1024px){.navbar{padding:12px 15px}.navbar.scrolled{padding:10px 15px}.navbar .navbar_container{gap:10px;padding:0}.navbar .navbar_logo{font-size:20px;padding:5px 8px;flex-shrink:1}.navbar .navbar_right{gap:10px;flex-shrink:0}.navbar .navbar_menu{gap:10px}.navbar .navbar_menu .navbar_link{font-size:14px;padding:8px 10px}.navbar .navbar_controls{gap:8px;flex-shrink:0}}@media only screen and (min-width:900px)and (max-width:1024px){.navbar .navbar_menu{gap:12px}.navbar .navbar_menu .navbar_link{font-size:15px;padding:8px 12px}}@media only screen and (max-width:768px){.navbar{padding:10px 15px}.navbar.scrolled{padding:8px 15px}.navbar .navbar_right{gap:8px;flex:1;justify-content:flex-end}.navbar .navbar_controls{gap:6px}.navbar .navbar_toggle{display:flex;color:inherit;order:10}.navbar .navbar_toggle.open span:nth-child(1){transform:rotate(45deg) translate(8px,8px)}.navbar .navbar_toggle.open span:nth-child(2){opacity:0}.navbar .navbar_toggle.open span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.navbar .navbar_menu{position:absolute;top:100%;left:0;right:0;flex-direction:column;background-color:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px;gap:10px;transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .3s ease;box-shadow:0 4px 10px #0000001a}.navbar .navbar_menu.open{transform:translateY(0);opacity:1;visibility:visible}.navbar .navbar_menu .navbar_link{width:100%;text-align:left;padding:12px 16px}.navbar.dark-mode .navbar_menu{background-color:#222222fa;box-shadow:0 4px 10px #0000004d}}@media only screen and (max-width:768px){.navbar .navbar_menu.open~.navbar_controls{display:none}}.back-to-top{position:fixed;bottom:30px;right:30px;width:50px;height:50px;background-color:#4a8a3a;color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #4a8a3a66;z-index:998;opacity:0;visibility:hidden;transform:translateY(20px);transition:all .3s ease;min-width:44px;min-height:44px}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background-color:#3d7531;transform:translateY(-5px);box-shadow:0 6px 20px #4a8a3a80}.back-to-top:active{transform:translateY(-2px)}.back-to-top:focus{outline:none}.back-to-top:focus-visible{outline:3px solid #005fcc;outline-offset:3px}.back-to-top svg{width:24px;height:24px}.back-to-top.dark-mode{background-color:#4a9a3a;box-shadow:0 4px 12px #4a9a3a66}.back-to-top.dark-mode:hover{background-color:#3d7531;box-shadow:0 6px 20px #4a9a3a80}@media only screen and (max-width:768px){.back-to-top{bottom:20px;right:20px;width:45px;height:45px}.back-to-top svg{width:20px;height:20px}}.skip-to-content{position:absolute;top:-100px;left:0;background-color:#4a8a3a;color:#fff;padding:12px 20px;text-decoration:none;font-weight:600;z-index:9999;border-radius:0 0 4px;transition:top .3s ease;min-height:44px}.skip-to-content:focus{top:0;outline:3px solid #005fcc;outline-offset:-3px}.skip-to-content:focus-visible{top:0;outline:3px solid #005fcc;outline-offset:-3px}.skip-to-content:hover{background-color:#3d7531}.scroll-progress{position:fixed;top:0;left:0;right:0;height:4px;background-color:#59b2461a;z-index:1001;overflow:hidden}.scroll-progress .scroll-progress_bar{height:100%;background:linear-gradient(90deg,#59b246,#4a9a3a,#59b246);transition:width .1s ease-out;box-shadow:0 0 10px #59b24680}.scroll-progress.dark-mode{background-color:#7dd8621a}.scroll-progress.dark-mode .scroll-progress_bar{background:linear-gradient(90deg,#7dd862,#59b246,#7dd862);box-shadow:0 0 10px #7dd86280}:root{--color-primary: #59b246;--color-primary-dark: #4a9a3a;--color-primary-light: #7dd862;--color-white: #ffffff;--color-black: #000000;--color-gray-50: #f8f9fa;--color-gray-100: #f0f0f0;--color-gray-200: #e0e0e0;--color-gray-300: #ccc;--color-gray-400: #aaa;--color-gray-500: #888;--color-gray-600: #666;--color-gray-700: #444;--color-gray-800: #333;--color-gray-900: #222;--color-gray-950: #1a1a1a;--color-bg-light: #ffffff;--color-bg-dark: #222222;--color-bg-dark-secondary: #2a2a2a;--color-text-light: #000000;--color-text-dark: #ffffff;--color-text-muted-light: #4a4a4a;--color-text-muted-dark: #cccccc;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--spacing-4xl: 80px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--font-family-base: "Poppins", sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 32px;--font-size-4xl: 40px;--font-size-5xl: 60px;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--shadow-colored: 0 8px 20px rgba(89, 178, 70, .3);--transition-fast: .15s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}.dark-mode{--color-bg-light: #222222;--color-bg-dark: #ffffff;--color-text-light: #ffffff;--color-text-dark: #000000;--color-text-muted-light: #aaaaaa;--color-text-muted-dark: #666666}*{scroll-behavior:smooth;box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding:0;font-family:var(--font-family-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
