@font-face{font-display:swap;font-family:'Poppins';font-style:normal;font-weight:400;src:url(./fonts/poppins-v24-latin-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:'Poppins';font-style:normal;font-weight:500;src:url(./fonts/poppins-v24-latin-500.woff2) format("woff2")}@font-face{font-display:swap;font-family:'Poppins';font-style:normal;font-weight:600;src:url(./fonts/poppins-v24-latin-600.woff2) format("woff2")}@font-face{font-display:swap;font-family:'Poppins';font-style:normal;font-weight:700;src:url(./fonts/poppins-v24-latin-700.woff2) format("woff2")}@font-face{font-display:swap;font-family:'Inconsolata';font-style:normal;font-weight:400;src:url(./fonts/inconsolata-v37-latin-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:'Figtree';font-style:normal;font-weight:400;src:url(./fonts/figtree-v9-latin-regular.woff2) format("woff2")}:root{--color-primary:hsl(220,20%,97%);--color-secondary:hsl(220,15%,15%);--color-tertiary:hsl(220,10%,45%);--color-accent:hsl(355.75,69.4%,56%);--color-accent2:hsl(0,0%,25.1%)}.dark{--color-primary:hsl(222.86,13.73%,10%);--color-secondary:hsl(222.86,13.73%,90%);--color-tertiary:hsl(223.85,12.15%,58.04%);--color-accent:hsl(355.75,69.4%,64.12%);--color-accent2:hsl(0,0%,25.1%)}html{scroll-behavior:smooth}body{font-family:"Poppins",-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--color-primary);color:var(--color-secondary);line-height:1.6}.navbar{background-color:var(--color-primary);box-shadow:0 2px 10px #0000001a}.navbar-brand{font-weight:700;font-size:1.5rem;color:var(--color-accent)!important}.nav-link{color:var(--color-secondary)!important;font-weight:500;margin:0 .5rem;transition:color .3s ease}.nav-link:hover{color:var(--color-accent)!important}.nav-link.active::after{content:'';position:absolute;bottom:-5px;left:0;width:100%;height:2px;background-color:var(--color-accent)}.navbar-toggler{border-color:var(--color-secondary)}.dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='#ffffffd9' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}#theme-toggle{width:2.5rem;height:2.5rem;border-radius:50%;background-color:var(--color-secondary);display:flex;align-items:center;justify-content:center;position:fixed;bottom:1rem;right:1rem;transition:bottom 1s ease}.visible #theme-toggle{position:fixed;bottom:5rem;right:1rem}#theme-toggle svg{fill:var(--color-primary)}#theme-toggle svg:last-child{display:none}.dark #theme-toggle svg:first-child{display:none}.dark #theme-toggle svg:last-child{display:block}.landing-section{background-color:var(--color-primary);padding:100px 0}.photo-holder{width:7rem;height:7rem;padding:12px;border-radius:50%;border:2px solid var(--color-accent);display:flex;align-items:center;justify-content:center;margin-bottom:1.4rem;box-shadow:0 0 12px var(--color-accent);transition:all 1s ease}.photo-holder:hover{transform:translateY(-10px) scale(1.05)}.landing-photo{width:100%;height:100%;border-radius:50%;object-fit:cover;transform:scale(1.2)}.landing-intro{font-family:"Inconsolata";font-size:1.2rem;padding:0 2.3rem;color:var(--color-secondary);animation:fadeInUp 1s ease}.landing-intro strong{color:var(--color-accent)}.landing-title{font-size:1.75rem;font-weight:700;color:var(--color-secondary);margin-bottom:3rem;animation:fadeInUp 1s ease}.landing-subtitle{font-family:"Figtree";text-align:justify;font-size:1rem;padding:0 2.3rem;color:var(--color-tertiary);animation:fadeInUp 1s ease .2s backwards}#par2{margin-bottom:3rem}.btn-cta{background-color:var(--color-accent);border:none;color:var(--color-primary);padding:.5rem 1.5rem;font-size:1rem;font-weight:600;border-radius:50px;transition:all .3s ease;animation:fadeInUp 1s ease .4s backwards}#landing-button a:first-child:hover{background-color:var(--color-tertiary);transform:translateY(-3px);box-shadow:0 10px 20px #0003}#landing-button a:last-child:hover{background-color:var(--color-accent);transform:translateY(-3px);box-shadow:0 10px 20px #0003}#landing-button{display:flex;justify-content:center;gap:1rem}#landing-button a:last-child{background-color:var(--color-tertiary)}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.section-title{font-size:1.6rem;font-weight:700;color:var(--color-secondary);text-align:center;margin-bottom:3rem;position:relative;padding-bottom:1rem}.section-title::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80px;height:4px;background:linear-gradient(90deg,var(--color-accent),var(--color-tertiary));border-radius:2px}.projects-section{background-color:var(--color-primary);padding:80px 0}.project-card{background-color:var(--color-primary);border-radius:15px;overflow:hidden;transition:all .3s ease;height:100%;display:flex;flex-direction:column;box-shadow:0 5px 15px #0000001a;border:1px solid var(--color-accent2);position:relative}.project-card:hover{transform:translateY(-10px);box-shadow:0 15px 30px #0000004d;border-color:var(--color-accent)}.project-image{width:100%;height:160px;object-fit:cover;border-radius:12px;display:block;transition:filter .3s ease,transform .3s ease}.project-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;pointer-events:none}.image-wrapper{position:relative;width:calc(100% - 3rem);margin:1.5rem auto;border-radius:12px;overflow:hidden}.image-wrapper:hover .project-image{filter:brightness(0.4);transform:scale(1.02)}.image-wrapper:hover .project-overlay{opacity:1}.view-btn{pointer-events:auto;cursor:pointer;padding:.6rem 1.4rem;border-radius:50px;border:none;background:var(--color-accent);color:#fff;font-weight:600}.view-btn:hover{box-shadow:0 0 15px var(--color-accent);transform:scale(1.05)}.project-title:hover{color:var(--color-accent)}.project-content{padding:0 1.5rem;flex-grow:1;display:flex;flex-direction:column}.project-title{font-size:1.3rem;font-weight:600;color:var(--color-secondary);margin-bottom:.75rem}.project-description{color:var(--color-tertiary);opacity:.8;font-size:.8rem;flex-grow:1;text-align:justify}.project-link{text-decoration:none;color:inherit;position:relative;z-index:1}.tools-section{background-color:var(--color-primary);padding:80px 0}.tools-container{padding:1rem}.tool-card{border-radius:15px;padding:2rem;text-align:center;transition:all .3s ease;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 5px 15px #0000001a}.tool-card img{width:80px;object-fit:contain;margin-bottom:1rem}.tool-card::before{content:"";position:relative;inset:0}.tool-card:hover::before{opacity:.05}.tool-name{font-size:1rem;font-weight:600;color:var(--color-tertiary);margin:0}.tool-card:hover{transform:scale(1.1);box-shadow:0 12px 30px #0000001f 0 0 0 1px var(--color-accent);border-color:var(--color-accent);background:var(--color-primary)}.tool-card:hover .tool-name{color:var(--color-accent)}#tools .container{max-width:350px}.contact-section{background-color:var(--color-primary);padding:80px 0}.contact-form{background-color:var(--color-primary);padding:2rem;border-radius:15px;box-shadow:0 5px 15px #0000001a;border:1px solid var(--color-tertiary)}.form-label{font-weight:600;color:var(--color-secondary);margin-bottom:.5rem}.form-control{background-color:var(--color-primary);border:2px solid #0000001a;color:var(--color-secondary);padding:.75rem 1rem;border-radius:8px;transition:all .3s ease;border:1px solid var(--color-tertiary)}.form-control:focus{background-color:var(--color-primary);border-color:var(--color-accent);color:var(--color-secondary);box-shadow:0 0 0 .2rem #a2505040}.form-control::placeholder{color:var(--color-secondary);opacity:.5}.btn-submit{background-color:var(--color-accent);border:none;color:var(--color-primary);padding:12px 40px;font-weight:600;border-radius:50px;transition:all .3s ease;width:100%}.btn-submit:hover{background-color:var(--color-tertiary);transform:translateY(-2px);box-shadow:0 5px 15px #0003}.invalid-feedback{display:block;color:var(--color-tertiary)}.was-validated .form-control:invalid{border-color:#dc3545}.was-validated .form-control:valid{border-color:#28a745}.footer{background-color:var(--color-primary);border-top:1px solid #0000001a;padding:1rem;margin-top:3rem}.footer-text{text-align:center;color:var(--color-secondary);opacity:.7;margin:0;font-size:.8rem}.social-icon{color:var(--color-secondary);margin:0;width:1.6rem}.footer .container{display:flex;align-items:center;justify-content:space-between}.icon-holder{display:flex;gap:1rem}.footer a{text-decoration:none}@media (min-width: 576px){.landing-title{font-size:2rem}.landing-subtitle{font-size:1rem}.btn-cta{padding:12px 30px;font-size:1rem}.contact-form{padding:1.5rem}}@media (min-width: 768px){.landing-title{font-size:2.7rem}.landing-subtitle{font-size:1.1rem}.section-title{font-size:1.75rem}.projects-section,.tools-section,.contact-section{padding:60px 0}.tool-card{min-height:100px;padding:1.5rem}.tool-name{font-size:1rem}#tools .container{max-width:500px}}@media (min-width: 992px){.photo-holder{width:10rem;height:10rem;padding:1.1rem}.landing-intro{font-size:1.4rem}.landing-title{font-size:3.7rem}.landing-subtitle{font-size:1.2rem;padding:0}.section-title{font-size:2rem}#upcoming-projects .container{max-width:1000px}.project-description{font-size:.9rem}#completed-projects{display:flex!important;justify-content:center!important;gap:1.2rem!important}#theme-changer{position:fixed;bottom:1rem;right:1rem}#tools .container{max-width:800px}}