*{margin:0;padding:0;box-sizing:border-box}.navbar{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:transparent}.navbar__logo img{width:30px;max-width:10vw;height:auto;display:block}.navbar__links{display:flex;gap:1.5rem;list-style:none}.navbar__links li a{color:#f0f0f0;text-decoration:none;position:relative;padding:5px 0;font-weight:700;transition:all .3s ease}.navbar__links li a:after{content:"";position:absolute;bottom:0;left:0;width:0%;height:2px;background-color:#fff;transition:width .3s}.navbar__links li a:hover:after{width:100%}.burger{display:none;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;z-index:1001}.burger span{display:block;width:25px;height:3px;background-color:#fff;transition:.3s ease}.burger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}@media (max-width: 768px){.burger{display:flex;position:absolute;top:1.5rem;right:1.5rem;z-index:1001}.navbar__links{position:fixed;top:0;right:-100%;width:50%;max-width:300px;height:100vh;background-color:#181818;flex-direction:column;align-items:center;justify-content:center;gap:2rem;padding:3rem 1rem;transition:right .4s ease;z-index:1002}.navbar__links.open{right:0}.navbar__links li a{font-size:1.4rem;font-weight:600;color:#fff;transition:color .3s ease}.navbar__links li a:hover{color:#aaa}.navbar__overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}}.close-btn{position:fixed;top:1.5rem;right:1.5rem;font-size:2.5rem;color:#fff;background:none;border:none;z-index:1003;cursor:pointer}.close-btn:hover{color:#ccc}.header{position:fixed;top:0;left:0;width:100%;z-index:10;background-color:transparent;padding:.5rem 1rem 0rem;text-align:center;transition:background-color .3s ease,box-shadow .3s ease}.header.scrolled{background-color:#272727e6;box-shadow:0 2px 5px #0003}.header__intro{margin-top:3rem}.header__intro h1{font-size:2.5rem;margin-bottom:1rem}.header__intro p{font-size:1.2rem;color:#ccc;margin-bottom:2rem}.header__intro__cta{padding:.8rem 1.5rem;background-color:#00bcd4;color:#000;border-radius:4px;text-decoration:none;font-weight:700}.header__intro__cta:hover{background-color:#08e3ff}.hero{position:relative;height:100vh;width:100%;display:flex;justify-content:center;align-items:center;text-align:center;color:#fff;overflow:hidden}.hero .hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero .hero__bg .hero__image{width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1}.hero__content{position:relative;z-index:2}.hero__content h1{font-size:3rem}.hero__content h2{font-size:1.5rem;margin-bottom:1.5rem}.hero__scroll{position:absolute;bottom:20px;left:50%;width:32px;height:32px;background-image:url(data:image/webp;base64,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);background-size:contain;background-repeat:no-repeat;background-position:center;transform:translate(-50%);z-index:2;cursor:pointer;animation:bounce 2s infinite}.typewriter-container{position:relative;display:inline-block;white-space:nowrap}.typewriter-shadow{visibility:hidden;opacity:0}.typewriter{position:absolute;top:0;left:0}.cursor{position:absolute;top:0;right:-.3em;transform:translateY(-10%);animation:blink .8s step-end infinite;font-weight:700;color:#fff;pointer-events:none}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.projects{background-color:#181a1b;padding:4rem 2rem;text-align:center}.projects h2{font-size:2.5rem;margin-bottom:3rem;color:#fff}.projects__container{max-width:900px;margin:0 auto}.projects__grid{display:grid;grid-template-columns:repeat(3,280px);column-gap:80px;row-gap:30px;justify-content:center}.project-thumb{position:relative;width:300px;height:200px;cursor:pointer;overflow:hidden;transition:transform .3s;animation:fadeInUp 2s ease both}.project-thumb img{object-fit:cover;object-position:top left;width:100%;height:100%}.project-thumb .project-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;color:#fff;opacity:0;transition:opacity .3s ease;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1rem;text-align:center}.project-thumb .project-overlay h3{margin:0;font-size:1rem;font-weight:700}.project-thumb:hover img{transform:scale(1.05)}.project-thumb:hover .project-overlay{opacity:1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1060px){.projects__grid{grid-template-columns:repeat(2,1fr);column-gap:20px;row-gap:20px}.projects__grid .project-thumb{width:100%}}@media (max-width: 600px){.projects__grid{grid-template-columns:1fr;row-gap:15px}.projects__grid .project-thumb{width:100%}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;justify-content:center;align-items:center;z-index:999}.modal-content{background:#1e1e1e;padding:2rem;border-radius:8px;color:#fff;position:relative;max-width:900px;width:80%;margin:0 2rem;box-sizing:border-box}.modal-content h2{text-align:center;font-size:2rem;margin-bottom:2rem;border-bottom:1px solid #444;padding-bottom:2rem}.modal-content .modal-body{display:flex;gap:2rem}.modal-content .modal-body>div:first-child{flex:1}.modal-content .modal-body>div:last-child{flex:1;padding-left:2rem;border-left:1px solid #444}.modal-content .modal-images{flex:1 1 45%;display:flex;flex-direction:column;gap:1rem;overflow-y:auto}.modal-content .modal-images img{image-rendering:auto;width:100%;height:auto;object-fit:cover;border-radius:6px;box-shadow:0 0 5px #0003}.modal-content .modal-infos{flex:1 1 45%;display:flex;flex-direction:column;gap:1.5rem}.modal-content .modal-infos h3{margin:0;font-size:1.1rem;font-weight:700}.modal-content .modal-infos .section{padding-bottom:1.7rem}.modal-content .modal-infos .section:not(:last-child){border-bottom:1px solid #444}.modal-content .modal-infos .section ul{padding-left:0;margin:.5rem 0 0;list-style:none}.modal-content .modal-infos .section ul li{margin-bottom:.3rem}.modal-content .modal-infos .section p{margin-top:.5rem}.modal-content .modal-divider{border:none;border-top:1px solid #444;margin:1rem 0 1.5rem}.modal-content .modal-link{display:block;text-align:center;background-color:#111;color:#fff;padding:.6rem 1.2rem;font-weight:700;border-radius:6px;text-decoration:none;width:fit-content;margin:0 auto}.modal-content .modal-link:hover{background:#333}.modal-close{position:absolute;top:15px;right:20px;background:none;border:none;font-size:1.5rem;color:#fff;cursor:pointer}.modal-hint{font-size:.85rem;color:#aaa;margin-bottom:1rem;text-align:center}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:transparent}.modal-content::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#777}.modal-content{scrollbar-width:thin;scrollbar-color:#555 transparent;overflow-y:auto}@media (max-width: 768px){.modal-content{width:85%;margin:0 1rem;padding:1.5rem;gap:1.5rem;border-radius:6px;max-height:60vh;overflow-y:auto}.modal-content h2{font-size:1.4rem;padding-bottom:1rem}.modal-content .modal-body{flex-direction:column}.modal-content .modal-body>div:last-child{padding-left:0;border-left:none}.modal-content .modal-images img{max-height:140px}.modal-content .modal-infos{gap:1rem}.modal-content .modal-infos h3{font-size:1rem}.modal-content .modal-infos .section{padding-bottom:1rem}.modal-content .modal-infos .section ul li,.modal-content .modal-infos .section p{font-size:.95rem}.modal-content .modal-link{font-size:.95rem;padding:.5rem 1rem}.modal-close{top:10px;right:15px;font-size:1.3rem}}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;justify-content:center;align-items:center;z-index:9999;padding:1rem}.lightbox-content{position:relative;max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center}.lightbox-content img{width:100%;max-height:calc(100vh - 4rem);object-fit:contain;border-radius:8px}.lightbox-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:gray;font-size:2rem;cursor:pointer;z-index:10}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);font-size:2rem;color:#fff;background:#0006;border:none;cursor:pointer;padding:.8rem 1rem;z-index:10;border-radius:6px}.lightbox-nav.prev{left:1rem}.lightbox-nav.next{right:1rem}@media (max-width: 768px){.lightbox-nav{font-size:1.5rem;padding:.6rem .8rem}.lightbox-close{font-size:1.7rem;top:.8rem;right:.8rem}.lightbox-content img{max-height:70vh}}.projects__filters{margin-bottom:2rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.projects__filters button{padding:.5rem 1rem;background-color:#1c1c1c;border:1px solid #444;border-radius:20px;color:#fff;cursor:pointer;transition:.2s ease}.projects__filters button:hover{background-color:#333}.projects__filters button.active{background-color:#fff;color:#111;font-weight:700}.contact{background-color:#1e2021;padding:5rem 2rem;color:#fff;text-align:center}.contact h2{font-size:2.2rem;margin-bottom:2rem}.contact .contact-form{max-width:500px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.contact .contact-form label{text-align:left;font-weight:700}.contact .contact-form input,.contact .contact-form textarea{padding:.7rem;border:none;border-radius:5px;font-size:1rem}.contact .contact-form button{padding:.8rem;background:#111;color:#fff;font-weight:700;border:none;border-radius:5px;cursor:pointer}.contact .contact-form button:hover{background:#333}.contact .contact-form .form-status{margin-top:1rem;color:#90ee90;font-weight:700}.contact .contact-form .visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.footer{background-color:#181a1b;color:#fff;padding:4rem 2rem;display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap}.footer p{margin:0;font-size:.9rem}.footer__socials{display:flex}.footer__socials a{color:#fff;font-size:1rem;transition:color .3s}.footer__socials a:hover{color:#888}
