@import "https://fonts.googleapis.com/css?family=Raleway:100,200,300";.container-scroll-indicator{display:flex;height:100vh;width:100vw;flex-direction:column;place-items:center;justify-content:center;position:absolute;inset:0;z-index:1000;background-color:transparent;overflow:auto;opacity:0;transition:opacity .5s ease-in-out;pointer-events:none}.fade-in{opacity:1}.fade-out{opacity:0}.field{display:flex;width:50vw;flex-direction:column;place-items:center;justify-content:center;text-align:center}.popup-container{position:absolute;inset:0;z-index:9999;display:flex;height:100vh;width:100vw;align-items:flex-start;justify-content:center;--tw-text-opacity:1;color:rgb(218 218 218/var(--tw-text-opacity));padding-top:10vh;pointer-events:none}.popup-container .popup{display:flex;flex-direction:column;place-items:center;justify-content:center;border-radius:1rem;background-color:rgb(0 0 0/var(--tw-bg-opacity));--tw-bg-opacity:.75}@media (min-width:320px) and (max-width:767px){.popup-container .popup{width:90vw;padding:1rem}}@media (min-width:768px){.popup-container .popup{min-width:440px;width:35vw;padding:1rem}}.popup-container .popup{pointer-events:auto}.popup-container .popup-title{font-weight:700}@media (min-width:320px) and (max-width:767px){.popup-container .popup-title{font-size:14.5px}}@media (min-width:768px){.popup-container .popup-title{font-size:27px}}.popup-container .popup-icon{min-height:89px;min-width:89px}@media (min-width:320px) and (max-width:767px){.popup-container .popup-icon{min-height:61px;min-width:61px}}.popup-container .popup-description{font-weight:600}@media (min-width:320px) and (max-width:767px){.popup-container .popup-description{font-size:12px;line-height:16px}}@media (min-width:768px){.popup-container .popup-description{font-size:16px}}.popup-container .popup-content{text-align:left}.popup-container .popup-button{display:flex;width:100%;align-items:center;justify-content:center;--tw-bg-opacity:1;background-color:rgb(218 218 218/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity));border-radius:25px}@media (min-width:320px) and (max-width:767px){.popup-container .popup-button{height:40px;border-radius:18px}}@media (min-width:768px){.popup-container .popup-button{height:57px}}.popup-container .popup-button{font-weight:700}@media (min-width:320px) and (max-width:767px){.popup-container .popup-button{font-size:20px}}@media (min-width:768px){.popup-container .popup-button{font-size:21px}}.popup-container .popup-button{margin-bottom:.25rem;align-items:center;justify-content:center}.popup-container .popup-button img{margin-top:.25rem}.popup-container button{cursor:pointer;z-index:9999;pointer-events:auto}.modal{position:absolute;inset:0;z-index:9999;height:100vh;width:100vw;--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(218 218 218/var(--tw-text-opacity));box-shadow:0 10px 25px #0003;opacity:0;transition:opacity .5s ease-in-out;pointer-events:none;overflow-y:auto;display:block}.modal .modal-close{width:100%;text-align:right;font-size:2.25rem;line-height:2.5rem}@media (min-width:320px) and (max-width:767px){.modal .modal-close{right:.5rem}}.modal .modal-close{cursor:pointer;pointer-events:auto;position:relative;top:0;z-index:10}.modal .modal-content{display:flex;flex-direction:column;place-items:center}@media (min-width:320px) and (max-width:767px){.modal .modal-content{margin-left:.5rem;margin-right:.5rem;width:90vw;padding:1rem}}.modal .modal-content{min-height:90vh}@media (min-width:768px){.modal .modal-content{width:90vw;padding:2.5rem}}.modal .modal-content{border-radius:12px;background:#ffffff1a;pointer-events:auto;margin:40px auto 20px}.modal .modal-content h2{margin-top:1.25rem;margin-bottom:1.25rem;font-size:2.25rem;line-height:2.5rem;font-weight:700}@media (min-width:320px) and (max-width:767px){.modal .modal-content h2{text-align:center}}@media (min-width:768px){.modal .modal-content h2{text-align:left}}.modal .modal-content h3{margin-top:1rem;margin-bottom:1rem;width:100%;text-align:left;font-size:1.5rem;line-height:2rem;font-weight:700}.modal .modal-content p{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem}@media (min-width:320px) and (max-width:767px){.modal .modal-centered-size{padding-bottom:5rem}}@media (min-width:768px){.modal .modal-centered-size{width:50%;min-width:500px}}.modal .modal-fit{display:flex;flex-direction:column;place-items:center;gap:.75rem}@media (min-width:320px) and (max-width:767px){.modal .modal-fit{gap:.5rem;margin-left:.5rem;margin-right:.5rem;width:90vw;padding:1rem}}.modal .modal-fit{min-height:90vh}@media (min-width:768px){.modal .modal-fit{width:90vw;padding:2.5rem}}.modal .modal-fit{border-radius:12px;background:#ffffff1a;pointer-events:auto;margin:40px auto 20px}.modal .modal-fit h2{margin-top:1.25rem;margin-bottom:1.25rem;text-align:center;font-size:2.25rem;line-height:2.5rem;font-weight:700}.modal .modal-fit h3{margin-top:1rem;margin-bottom:1rem;width:100%;text-align:left;font-size:1.5rem;line-height:2rem;font-weight:700}.modal .modal-fit p{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem}.modal.visible{opacity:.85;pointer-events:auto}.modal.show{opacity:1;pointer-events:auto}@media (min-width:320px) and (max-width:767px){.contact-title{width:90%;font-size:36px;line-height:34px}}@media (min-width:768px){.contact-title{font-size:64px;line-height:58px}}.contact-title{padding-top:1rem;font-weight:600}@media (min-width:320px) and (max-width:767px){.contact-title{text-align:start}}@media (min-width:768px){.contact-title{text-align:center}}.contact-title{padding-bottom:3rem}@media (min-width:320px) and (max-width:767px){.contact-title{padding-bottom:1.5rem}}.contact-input{height:40px;width:90%;max-width:500px;background-color:transparent}@media (min-width:320px) and (max-width:767px){.contact-input{height:36px}}.contact-input{border-bottom-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(218 218 218/var(--tw-border-opacity));font-size:1.5rem;line-height:2rem;--tw-text-opacity:1;color:rgb(218 218 218/var(--tw-text-opacity))}@media (min-width:320px) and (max-width:767px){.contact-input{font-size:16px}}.contact-input-area{height:120px;width:90%;max-width:500px;resize:none;background-color:transparent}@media (min-width:320px) and (max-width:767px){.contact-input-area{height:80px}}.contact-input-area{border-bottom-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(218 218 218/var(--tw-border-opacity));font-size:1.5rem;line-height:2rem;--tw-text-opacity:1;color:rgb(218 218 218/var(--tw-text-opacity))}@media (min-width:320px) and (max-width:767px){.contact-input-area{font-size:16px}}.contact-submit-button{height:50px;width:90%;max-width:500px;background-color:transparent}.contact-submit-button:disabled{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.contact-submit-button{border-radius:32px;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(218 218 218/var(--tw-border-opacity));--tw-text-opacity:1;color:rgb(218 218 218/var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.contact-submit-button:disabled{cursor:not-allowed}.contact-submit-button{margin-top:1rem}.contact-submit-button:disabled{opacity:.6}.contact-submit-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #0003}.projects-gallery{display:grid;grid-template-columns:1fr;gap:20px;padding:20px 0}@media (min-width:768px){.projects-gallery{grid-template-columns:repeat(3,1fr)}}.project-card{padding-top:1rem;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #0000001a;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);transform:translateY(0)}.project-card:hover{transform:translateY(-8px);box-shadow:0 12px 30px #00000026}.project-thumbnail{-o-object-fit:contain;object-fit:contain;width:100%;height:240px;transition:transform .3s ease}.project-card:hover .project-thumbnail{transform:scale(1.05)}.project-title{padding:15px;font-size:16px;font-weight:600;color:#333;line-height:1.4}.project-detail{padding:2rem;position:absolute;inset:0;background:#000000fc;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .3s ease-out;z-index:9999!important}.project-detail-content{background:#fff;border-radius:16px;max-width:900px;max-height:95vh;width:100%;overflow-y:auto;position:relative;animation:slideUp .3s ease-out;z-index:10000!important}.project-detail-close{position:absolute;top:15px;right:20px;background:#0000001a;border:0;width:48px;height:48px;border-radius:50%;cursor:pointer;font-size:18px;font-weight:700;color:#666;transition:all .2s ease;z-index:10001!important}.project-detail-close:hover{background:#0003;color:#000}.project-detail-header{padding:25px 30px 20px;border-bottom:1px solid #eee}.project-detail-title{font-size:24px;font-weight:700;color:#333;margin:0}.project-detail-body{padding:25px 30px}.screenshots-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:25px}.screenshot-image{-o-object-fit:contain;object-fit:contain;width:65%;height:auto;border-radius:8px;box-shadow:0 4px 12px #0000001a;transition:transform .2s ease}.screenshot-image:hover{transform:scale(1.02)}.project-description{font-size:16px;line-height:1.6;color:#555}.project-description h1,.project-description h2,.project-description h3{color:#333;margin-top:20px;margin-bottom:10px}.project-description p{margin-bottom:15px}.loading-spinner{display:flex;justify-content:center;align-items:center;padding:40px}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gallery-fade-in{animation:fadeInUp .6s ease-out forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.stagger-animation .project-card:nth-child(1){animation-delay:.1s}.stagger-animation .project-card:nth-child(2){animation-delay:.2s}.stagger-animation .project-card:nth-child(3){animation-delay:.3s}.stagger-animation .project-card:nth-child(4){animation-delay:.4s}.stagger-animation .project-card:nth-child(5){animation-delay:.5s}.stagger-animation .project-card:nth-child(6){animation-delay:.6s}.grecaptcha-badge{position:fixed!important;z-index:10000!important}@media (max-width:640px){.grecaptcha-badge{bottom:14px!important;left:4px!important;right:auto!important;transform:scale(.5)!important;transform-origin:left bottom!important}}@media (min-width:641px){.grecaptcha-badge{bottom:14px!important;right:4px!important;left:auto!important}}.loading-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000;z-index:9999;font-family:Raleway,sans-serif;overflow:hidden}.loading-overlay.swipe-reveal{background:0 0}.progress-bar{position:absolute;top:50%;height:2px;background:#1b978e;width:0%;transition:width .1s ease}.progress-bar.done{height:0;opacity:0;background:#000;transition:all .33s ease-in}.curtain-left,.curtain-right{position:absolute;top:0;height:100%;width:50%;background:#000;z-index:10001}.curtain-left{left:0}.curtain-right{right:0}.curtain-left.swipe-away{animation:swipe-left .8s ease-in-out forwards}.curtain-right.swipe-away{animation:swipe-right .8s ease-in-out forwards}.count{position:absolute;top:50%;width:100%;text-align:center;font-weight:100;font-size:3em;margin-top:-1.33em;color:#1b978e;z-index:10002}.count.hidden{opacity:0;color:#000;transition:all .3s ease}@keyframes swipe-left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes swipe-right{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes doorOpenFadeIn{0%{clip-path:polygon(50%0,50%0,50% 100%,50% 100%);filter:blur(20px);opacity:0}40%{clip-path:polygon(45%0,55%0,55% 100%,45% 100%);filter:blur(10px);opacity:.3}60%{clip-path:polygon(30%0,70%0,70% 100%,30% 100%);filter:blur(5px);opacity:.6}80%{clip-path:polygon(0 0,100%0,100% 100%,0 100%);filter:blur(2px);opacity:.95}to{clip-path:polygon(0 0,100%0,100% 100%,0 100%);filter:blur(0);opacity:1}}@keyframes pulseFlash{0%{box-shadow:0 0#fff0}40%{box-shadow:0 0 60px #ffffff4d}60%{box-shadow:0 0 80px #ffffff1a}to{box-shadow:0 0#fff0}}html,body{height:100%;overflow:hidden;margin:0;overscroll-behavior:none;overscroll-behavior-y:none;-webkit-overscroll-behavior:none;-webkit-overscroll-behavior-y:none;-ms-scroll-chaining:none}.scroll-container{height:100vh;width:100vw;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.avant-fade-in{animation:doorOpenFadeIn 2.2s cubic-bezier(.77,0,.175,1) forwards,pulseFlash 1.5s ease-out;opacity:0}.model-fullscreen{height:300vh;width:100vw;position:fixed;inset:0;z-index:50;background:#000}.home-container{display:flex;flex-direction:column;place-items:start;justify-content:center;justify-items:center;padding:2rem}@media (min-width:320px) and (max-width:767px){.home-container{width:100vw}}@media (min-width:768px){.home-container{width:60vw}}.home-container{min-height:100vh}.hello{text-transform:uppercase}@media (min-width:320px) and (max-width:767px){.hello{margin-bottom:1.5rem;min-height:65px;font-size:48px;line-height:65px}}@media (min-width:768px){.hello{margin-bottom:1rem;min-height:140px;font-size:128px;line-height:140px}}.hello{font-weight:900;letter-spacing:1%;text-align:left}.elevate{text-align:left;font-weight:600;text-transform:uppercase}@media (min-width:320px) and (max-width:767px){.elevate{margin-bottom:2rem;min-height:99px;font-size:1.5rem;line-height:2rem;line-height:33px}}@media (min-width:768px){.elevate{margin-bottom:2.5rem;min-height:108px;font-size:40px;line-height:54px}}.elevate{letter-spacing:.05em}@media (min-width:320px) and (max-width:767px){.we-are{margin-bottom:2rem;min-height:99px;font-size:24px;line-height:33px;text-align:left}}@media (min-width:768px){.we-are{margin-bottom:3rem;min-height:108px;font-size:40px;line-height:54px}}.we-are{font-weight:300;letter-spacing:3%}canvas{pointer-events:auto;touch-action:auto}