#preloader{position:fixed;top:0;right:0;bottom:0;left:0;background:#111;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:99999;color:#fff;font-family:Montserrat,sans-serif;pointer-events:none;transition:opacity .5s ease}#preloader.hidden{opacity:0}.loader-ring{width:40px;height:40px;border:4px solid white;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.full #bg-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:10;pointer-events:none}body,html{margin:0;height:100%;padding:0;font-family:Satoshi,sans-serif;background-color:#111;color:#fff}body.scroll-locked{overflow:hidden!important}.topbar{position:fixed;top:0;right:0;padding:1.2rem 2rem;display:flex;justify-content:flex-end;align-items:center;width:100%;z-index:20;font-family:Satoshi,sans-serif;opacity:0}.logo{font-weight:700;letter-spacing:.1em;font-size:1.1rem}.nav a{margin-left:1.5rem;text-decoration:none;color:#fff;font-size:.95rem}#nav-logo{cursor:pointer;display:inline-block}.full .hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;z-index:10}.full .hero-title{font-size:5vw;color:#fff;font-weight:800;letter-spacing:3vh;position:absolute;font-family:Satoshi,sans-serif;z-index:1;opacity:0;pointer-events:none}.full .slogan{position:absolute;bottom:25vh;font-size:2rem;color:#fff;font-weight:500;pointer-events:none;z-index:15}.full .slogan span{display:inline-block;opacity:0;transform:translateY(20px)}.full .scroll-invite{position:absolute;bottom:2vh;font-size:1.2rem;color:#fff;font-weight:300;pointer-events:none;z-index:15;opacity:0;transform:translateY(20px)}.full .scroll-invite-svg{position:absolute;width:10rem;height:1.5rem;bottom:2vh;opacity:0;transform:translateY(20px)}.full .project-modal{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000bf;display:none;align-items:center;justify-content:center;z-index:50}.full .project-modal.show{display:flex}.full .project-modal-content{display:flex;background:#1a1a1a;border-radius:20px;max-width:80vw;max-height:80vh;transform:scale(.95);transition:transform .4s ease}.full .project-modal.show .project-modal-content{transform:scale(1)}.full .modal-img{width:40vw;object-fit:cover}.full .modal-info{padding:2rem;color:#fff;font-family:Satoshi,sans-serif}.full .modal-button{display:inline-block;margin-top:1rem;padding:.6rem 1.4rem;background:#fff;color:#000;font-weight:600;border-radius:5px;text-decoration:none}.full .modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:none;align-items:center;justify-content:center;z-index:100}.full .modal.visible{display:flex}.full .modal-content{display:flex;background:#111;border-radius:1rem;padding:2rem;max-width:900px;width:90%;gap:2rem;color:#fff}.full .modal-img{width:50%;object-fit:cover;border-radius:.5rem}.full .modal-text{width:50%;display:flex;flex-direction:column;justify-content:space-between}.full .modal-close{position:absolute;top:1rem;right:2rem;font-size:2rem;background:none;color:#fff;border:none;cursor:pointer}.full .modal-link{display:inline-block;margin-top:1rem;padding:.6rem 1.4rem;background:#fff;color:#000;font-weight:600;border-radius:5px;text-decoration:none}.full .clone-modal:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:-1;pointer-events:none}.full .section{height:50vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#111;position:relative;z-index:5;opacity:1;pointer-events:auto}.full .section-title{font-size:4vw;font-weight:700;text-align:center;margin-bottom:4rem;color:#fff;opacity:0}.full #third-section{position:relative;height:100vh;display:flex;align-items:center;justify-content:center}.full .section-text{font-size:1.5vw;font-weight:400;text-align:center;color:#fff;opacity:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) translateY(30px);white-space:pre-line}.full #fixed-title{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:4vw;font-weight:700;color:#fff;z-index:100;opacity:0;display:none;pointer-events:none}.full #second-section{height:100vh;justify-content:center}.full .svg-logo{display:block;position:fixed;top:1.5rem;left:6rem;width:50px;height:auto;fill:#fff;z-index:30;opacity:0;transform:scale(.95);transition:opacity .6s ease,transform .6s ease;pointer-events:auto}.full .svg-logo.visible{opacity:1;transform:scale(1)}.full .modal-open #app-wrapper{filter:blur(8px);pointer-events:none}.full #app-wrapper{transition:filter .3s ease}.full #fourth-section{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:4rem;padding:5vh 2rem;background-color:#111}.full .what-i-do{font-size:3vw;font-weight:400;color:#fff;margin-bottom:2rem;margin-top:-10vh}.full .marquee{width:100%;overflow:hidden;border-top:2px solid white;border-bottom:2px solid white;position:relative}.full .marquee-inner{display:inline-flex;white-space:nowrap;animation:scroll-left 15s linear infinite;font-size:2vw;font-weight:600;color:#fff;min-width:max-content}.full .marquee-inner span{padding:1rem 2rem}.full .see-projects{margin-top:5rem;padding:.8rem 2rem;border-radius:2rem;background:#fff;color:#000;font-weight:600;font-size:1rem;border:none;cursor:pointer;text-decoration:none}.full .see-projects:hover{transform:scale(1.05)}.full #fifth-section{height:100vh;display:flex;flex-direction:column;justify-content:space-between;background:#111;color:#fff;padding:2rem;box-sizing:border-box}.full .contact-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center}.full .contact-title{font-size:2.8vw;font-weight:500;margin-bottom:3rem}.full .contact-form{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:600px}.full .contact-form input,.full .contact-form textarea{width:100%;padding:1rem;border:none;border-radius:.5rem;background:#e5e5e5;font-size:1rem;color:#111;font-family:inherit}.full .contact-form textarea{min-height:160px;resize:vertical}.full .contact-form button{padding:1rem;background:#fff;border:none;font-weight:600;font-size:1rem;border-radius:2rem;cursor:pointer;transition:background .3s ease;width:fit-content;margin:1rem auto 0}.full .contact-form button:hover{background:#ddd}.full .footer-content{padding-top:2rem;text-align:center}.full .footer-content h3{font-size:1.4rem;margin-bottom:.5rem}.full .footer-content p{font-size:1rem;opacity:.85;margin-bottom:2rem}.full .footer-links{display:flex;justify-content:space-between;flex-wrap:wrap;font-size:.9rem;opacity:.7}.full .footer-links .socials a{margin-left:1.2rem;text-decoration:none;color:#fff}.full .footer-links .socials a:hover{text-decoration:underline}.full .fallback-nav-modal,.full .burger-btn{display:none}.fallback #bg-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:10;pointer-events:none;opacity:0}.fallback .hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;z-index:10}.fallback .hero-title{font-size:5vw;color:#fff;font-weight:800;letter-spacing:3vh;position:absolute;font-family:Satoshi,sans-serif;z-index:1;opacity:1;pointer-events:none}.fallback .slogan{position:absolute;bottom:25vh;font-size:2rem;color:#fff;font-weight:500;pointer-events:none;z-index:15}.fallback .slogan span{display:inline-block;opacity:1;transform:translateY(20px)}.fallback .scroll-invite{position:absolute;bottom:2vh;font-size:1.2rem;color:#fff;font-weight:300;pointer-events:none;z-index:15;opacity:1;transform:translateY(20px)}.fallback .scroll-invite-svg{position:absolute;width:10rem;height:1.5rem;bottom:2vh;opacity:1;transform:translateY(20px)}.fallback .project-modal{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000bf;display:none;align-items:center;justify-content:center;z-index:50}.fallback .project-modal.show{display:flex}.fallback .project-modal-content{display:flex;background:#1a1a1a;border-radius:20px;max-width:80vw;max-height:80vh;transform:scale(.95);transition:transform .4s ease}.fallback .project-modal.show .project-modal-content{transform:scale(1)}.fallback .modal-img{width:40vw;object-fit:cover}.fallback .modal-info{padding:2rem;color:#fff;font-family:Satoshi,sans-serif}.fallback .modal-button{display:inline-block;margin-top:1rem;padding:.6rem 1.4rem;background:#fff;color:#000;font-weight:600;border-radius:5px;text-decoration:none}.fallback .modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:none;align-items:center;justify-content:center;z-index:100}.fallback .modal.visible{display:flex}.fallback .modal-content{display:flex;background:#111;border-radius:1rem;padding:2rem;max-width:900px;width:90%;gap:2rem;color:#fff}.fallback .modal-img{width:50%;object-fit:cover;border-radius:.5rem}.fallback .modal-text{width:50%;display:flex;flex-direction:column;justify-content:space-between}.fallback .modal-close{position:absolute;top:1rem;right:2rem;font-size:2rem;background:none;color:#fff;border:none;cursor:pointer}.fallback .modal-link{display:inline-block;margin-top:1rem;padding:.6rem 1.4rem;background:#fff;color:#000;font-weight:600;border-radius:5px;text-decoration:none}.fallback .clone-modal:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:-1;pointer-events:none}.fallback .section{height:50vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#111;position:relative;z-index:5;opacity:1;pointer-events:auto}.fallback .section-title{font-size:4vw;font-weight:700;text-align:center;margin-bottom:4rem;color:#fff;opacity:1}.fallback #third-section{position:relative;height:100vh;display:flex;align-items:center;justify-content:center}.fallback .section-text{font-size:1.5vw;font-weight:400;text-align:center;color:#fff;opacity:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) translateY(30px);white-space:pre-line}.fallback #fixed-title{position:absolute;top:156vh;left:50%;transform:translate(-50%);font-size:4vw;font-weight:700;color:#fff;z-index:100;opacity:0;transition:opacity .6s ease;text-align:center;pointer-events:none}.fallback #fixed-title.visible{opacity:1}@keyframes fadeUp{0%{opacity:0;transform:translate(-50%,-40%) scale(.98)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.fallback #second-section{height:100vh;justify-content:center}.fallback .svg-logo{display:block;position:fixed;top:1.5rem;left:5rem;width:50px;height:auto;fill:#fff;z-index:30;opacity:1;transform:scale(.95);transition:opacity .6s ease,transform .6s ease;pointer-events:auto}.fallback .svg-logo.visible{opacity:1;transform:scale(1)}.fallback .modal-open #app-wrapper{filter:blur(8px);pointer-events:none}.fallback #app-wrapper{transition:filter .3s ease}.fallback #fourth-section{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:4rem;padding:5vh 2rem;background-color:#111}.fallback .what-i-do{font-size:3vw;font-weight:400;color:#fff;margin-bottom:2rem;margin-top:-10vh}.fallback .marquee{width:100%;overflow:hidden;border-top:2px solid white;border-bottom:2px solid white;position:relative}.fallback .marquee-inner{display:inline-flex;white-space:nowrap;animation:scroll-left 15s linear infinite;font-size:2vw;font-weight:600;color:#fff;min-width:max-content}.fallback .marquee-inner span{padding:1rem 2rem}@keyframes scroll-left{0%{transform:translate(0)}to{transform:translate(-50%)}}.fallback .see-projects{margin-top:5rem;padding:.8rem 2rem;border-radius:2rem;background:#fff;color:#000;font-weight:600;font-size:1rem;border:none;cursor:pointer;text-decoration:none}.fallback .see-projects:hover{transform:scale(1.05)}.fallback #fifth-section{height:100vh;display:flex;flex-direction:column;justify-content:space-between;background:#111;color:#fff;padding:2rem;box-sizing:border-box}.fallback .contact-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center}.fallback .contact-title{font-size:2.8vw;font-weight:500;margin-bottom:3rem}.fallback .contact-form{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:600px}.fallback .contact-form input,.fallback .contact-form textarea{width:100%;padding:1rem;border:none;border-radius:.5rem;background:#e5e5e5;font-size:1rem;color:#111;font-family:inherit}.fallback .contact-form textarea{min-height:160px;resize:vertical}.fallback .contact-form button{padding:1rem;background:#fff;border:none;font-weight:600;font-size:1rem;border-radius:2rem;cursor:pointer;transition:background .3s ease;width:fit-content;margin:1rem auto 0}.fallback .contact-form button:hover{background:#ddd}.fallback .footer-content{padding-top:2rem;text-align:center}.fallback .footer-content h3{font-size:1.4rem;margin-bottom:.5rem}.fallback .footer-content p{font-size:1rem;opacity:.85;margin-bottom:2rem}.fallback .footer-links{display:flex;justify-content:space-between;flex-wrap:wrap;font-size:.9rem;opacity:.7}.fallback .footer-links .socials a{margin-left:1.2rem;text-decoration:none;color:#fff}.fallback .footer-links .socials a:hover{text-decoration:underline}.fallback .fallback-carousel-section{min-height:100vh;position:relative;background:#111;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center}.fallback .carousel-strip{overflow:hidden;width:100%;height:auto;padding:3vh 0;background:#111}.fallback .carousel-track{display:flex;margin:5vw;animation:scroll-carousel 20s linear infinite}.fallback .carousel-track.reverse{animation:scroll-carousel-reverse 20s linear infinite}.fallback .carousel-track ul{display:flex;list-style:none;gap:2vw}.fallback .carousel-track li{flex-shrink:0;width:25vw}.fallback .carousel-track img{width:100%;height:auto;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none}@keyframes scroll-carousel{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes scroll-carousel-reverse{0%{transform:translate(-50%)}to{transform:translate(0)}}.fallback .burger-btn{position:fixed;top:1.2rem;right:1.2rem;display:none;z-index:1000;flex-direction:column;justify-content:space-between;width:28px;height:22px;background:none;border:none;cursor:pointer}.fallback .burger-btn .bar{height:3px;width:100%;background-color:#fff;border-radius:2px;transition:.4s}.fallback .burger-btn.open .bar:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.fallback .burger-btn.open .bar:nth-child(2){opacity:0}.fallback .burger-btn.open .bar:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.fallback .fallback-nav-modal{position:fixed;top:0;right:-100vw;width:80vw;height:100vh;background-color:#111;z-index:999;transition:right .4s ease;display:flex;align-items:center;justify-content:center}.fallback .fallback-nav-modal.open{right:0}.fallback .nav-modal-content{display:flex;flex-direction:column;gap:2rem}.fallback .nav-modal-content a{color:#fff;text-decoration:none;font-size:1.2rem;text-align:center;font-weight:300}@media (max-width: 768px){.fallback .nav a:not(:first-child){display:none}.fallback .burger-btn{display:flex}}@media (max-width: 1024px){.fallback .topbar{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#111;z-index:999}.fallback .svg-logo{display:block;position:fixed;top:1rem;left:3rem;width:40px;height:auto;fill:#fff;z-index:30;transform:scale(1);transition:opacity .6s ease,transform .6s ease;pointer-events:auto}.fallback .nav{display:flex;align-items:center;gap:1rem}.fallback .nav a{color:#fff;text-decoration:none;font-size:1rem;font-weight:500}.fallback .nav a:not(:first-child){display:none}.fallback .burger-btn{display:flex;background:none;border:none;cursor:pointer;padding:.1rem;z-index:1000}.fallback section{padding:8vh 1rem;min-height:auto}.fallback .section-text{position:relative;transform:none;top:auto;left:auto;font-size:1rem}.fallback .hero-title{font-size:2rem;letter-spacing:.5vw;text-align:center;white-space:nowrap}.fallback .slogan{font-size:1.25rem;margin-top:2rem;text-align:center}.fallback #fixed-title{position:absolute;top:156vh;left:50%;transform:translate(-50%);font-size:1.2rem;font-weight:700;color:#fff;z-index:100;opacity:0;transition:opacity .6s ease;text-align:center;pointer-events:none}.fallback .carousel-strip{width:100%;padding:4vh 0}.fallback .carousel-track li{width:45vw}.fallback .carousel-track img{border-radius:.5rem}@keyframes scroll-carousel{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes scroll-carousel-reverse{0%{transform:translate(-50%)}to{transform:translate(0)}}.fallback #fourth-section{padding:8vh 1rem;min-height:100vh;justify-content:center}.fallback .what-i-do{font-size:1.6rem;font-weight:600;text-align:center;color:#fff;margin-bottom:2rem}.fallback .marquee{width:100%;border-top:1px solid white;border-bottom:1px solid white;padding:1rem 0;box-sizing:border-box}.fallback .marquee-inner{font-size:1.2rem;font-weight:500;white-space:nowrap;animation:scroll-left 15s linear infinite;display:inline-flex;min-width:max-content}.fallback .marquee-inner span{padding:0 1.5rem}html,body{height:auto;overflow-y:auto;scroll-behavior:smooth}.fallback{height:auto;overflow-x:hidden}.fallback .contact-section{display:flex;flex-direction:column;align-items:center;padding:2rem 1rem}.fallback .contact-title{font-size:2rem;font-weight:600;text-align:center;margin-bottom:2rem;width:100%}.fallback .contact-form{width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:.8rem}.fallback .contact-form input,.fallback .contact-form textarea{font-size:.95rem;padding:.7rem}.fallback .contact-form button{font-size:.95rem;padding:.6rem 1.2rem;border-radius:1.5rem}.fallback .footer-content{padding:2rem 1rem;font-size:.85rem;text-align:center}.fallback .footer-links{flex-direction:column;gap:.5rem;align-items:center;font-size:.8rem;margin-top:1rem}}
