@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap);html{scroll-behavior:smooth;scroll-padding-top:100px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{display:flex;flex-direction:column;min-height:100vh;padding-top:0;text-align:center}.site-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#333333b3;border-radius:50px;box-shadow:0 2px 4px #0000001a;left:25%;max-width:1000px;position:fixed;top:50px;width:50%;z-index:1000}.site-nav{align-items:center;display:flex;gap:2rem;justify-content:center;padding:.5rem 1rem}.site-nav h1{color:#fff;line-height:1;padding:0}.site-nav a{color:#fff;font-size:1.1rem;font-weight:500;text-decoration:none;transition:color .3s ease}.site-nav a:hover{color:#aaa}.mobile-header-btn{background-color:#242424;border-radius:50px;bottom:30px;box-shadow:3px 4px 25px #ffffff1a;box-shadow:inset 5px 5px 15px #fff3;display:none;height:80px;position:fixed;right:30px;width:80px;z-index:1001}.mobile-header-btn-internal{display:none;height:50%;left:20%;position:absolute;top:25%;width:60%}.mobile-header-bar{background-color:#fff;height:5px;margin:6px 0;width:100%}.mobile-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#242424d9,#1a1a1ad9);border-radius:20px;bottom:-500px;box-shadow:0 -10px 40px #00000080;box-sizing:border-box;display:none;flex-direction:column;height:50vh;justify-content:space-between;left:20px;padding:40px 30px;position:fixed;transition:bottom .4s ease-out;width:calc(100vw - 40px);z-index:1001}.mobile-header-content{display:flex;flex-direction:column;gap:40px;height:100%}.mobile-header h1{color:#fff;font-size:1.5rem;font-weight:700;margin:0;text-transform:lowercase}.mobile-nav{display:flex;flex:1 1;flex-direction:column;gap:20px}.mobile-header a{-webkit-tap-highlight-color:transparent;color:#e6e6e6;font-size:2rem;font-weight:500;outline:none;padding-left:0;text-decoration:none;text-transform:lowercase;transition:color .3s ease,padding-left .3s ease;-webkit-user-select:none;user-select:none}.mobile-header.is-open{bottom:20px}.mobile-header-close-btn{align-self:center;color:#999;cursor:pointer;font-size:.95rem;font-weight:500;letter-spacing:1px;margin-top:-25px;text-align:center;text-transform:lowercase;transition:color .3s ease}.mobile-header-close-btn p{margin:0}.hero-section{align-items:center;background-color:#000;display:flex;height:100vh;justify-content:center;min-height:600px;overflow:hidden;position:relative;width:100%}.dither-background{height:100%;left:0;position:absolute;top:0;width:100%;z-index:0}.hero-content{color:#fff;height:100%;left:5vw;padding:2rem;position:relative;text-align:left;top:60vh;width:100%;z-index:1}.hero-content h1{font-size:8rem;font-weight:700;line-height:1.2;margin:0;text-shadow:0 4px 20px #0000004d}.hero-section .hero-content p{color:#fff;font-size:2rem;margin:0 0 2rem;opacity:.95;text-shadow:0 2px 10px #0003}.hero-cta-button{background:#fff;border:none;border-radius:8px;box-shadow:0 4px 15px #0003;color:#6366f1;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem 2.5rem;transition:all .3s ease}.hero-cta-button:hover{background:#f8f9fa;box-shadow:0 6px 25px #0000004d;transform:translateY(-2px)}.content-heading-dark h2{color:#242424;font-size:2.5rem;margin-bottom:40px}.content-heading-light h2{color:#e6e6e6;font-size:2.5rem;margin-bottom:40px}.about-section{grid-gap:80px;align-items:center;background-color:#fff;display:grid;gap:80px;grid-template-columns:1fr 1fr;padding:50px 15vw 100px}#james-photo{font-size:2rem;max-width:450px;position:relative;width:100%;z-index:100}#james-photo .photo-layer{height:100%;left:0;pointer-events:none;position:absolute;top:0;transition:transform .3s ease-out,opacity .3s ease-out;width:100%;will-change:transform,opacity;z-index:99}#james-photo .photo-layer img{filter:grayscale(100%);height:100%;object-fit:cover;width:100%}#james-photo .photo-layer-1{left:-30px;opacity:.5;top:100px;z-index:98}#james-photo .photo-layer-2{left:-60px;opacity:.1;top:180px;z-index:97}#james-photo>img{display:block;height:auto;object-fit:cover;position:relative;width:100%;z-index:99}.about-section h2{font-size:4rem;font-weight:700;margin-bottom:30px;text-align:left}.about-section p{color:#242424;font-size:1.1rem;line-height:1.8;margin-bottom:20px;text-align:left}.about-section p:last-of-type{font-weight:600;margin-bottom:0;margin-top:30px}.services-section{align-items:center;background-color:#2a2a2a;color:#e6e6e6;display:flex;min-height:100vh;padding:120px 5vw;position:relative}.services-content{width:100%}.services-section h2{color:#e6e6e6;font-size:4rem;font-weight:700;margin-bottom:80px;margin-top:0;text-align:center;text-transform:lowercase}.services-list{display:flex;flex-direction:column;gap:60px;margin:0 auto;max-width:1200px}.service-item{border-bottom:1px solid #e6e6e633;display:flex;gap:40px;padding-bottom:60px}.service-item:last-child{border-bottom:none;padding-bottom:0}.service-number{color:#e6e6e6;font-size:1.5rem;font-weight:400;min-width:50px;text-align:left}.service-details{flex:1 1;text-align:left}.service-name{color:#e6e6e6;font-size:3.5rem;font-weight:300;line-height:1.2;margin:0 0 15px;text-transform:lowercase}.service-subcategories{color:#e6e6e6;font-size:1.2rem;font-weight:300;line-height:1.8;margin:0;opacity:.9}.projects-section{background-color:#d8d4ce;color:#242424;min-height:100vh;padding:120px 10vw}.projects-content{margin:0 auto;max-width:1400px;width:100%}.projects-section h2{color:#242424;font-size:4rem;font-weight:700;margin-bottom:80px;margin-top:0;text-align:center;text-transform:lowercase}.project-item{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:1fr 1fr;margin-bottom:100px}.project-item:last-child{margin-bottom:0}.project-item-reverse .project-image-box{order:2}.project-item-reverse .project-text{order:1}.project-image-box{aspect-ratio:16/10;background-color:#2a2a2a;border:1px solid #3a3a3a;border-radius:8px;box-shadow:0 10px 40px #0000004d;overflow:hidden;position:relative;transition:transform .1s ease-out;width:100%;will-change:transform}.browser-chrome{background:#1a1a1a;border-bottom:1px solid #3a3a3a;gap:12px;padding:12px 16px}.browser-chrome,.browser-dots{align-items:center;display:flex}.browser-dots{gap:8px}.dot{border-radius:50%;display:block;height:12px;width:12px}.dot-red{background-color:#ff5f56}.dot-yellow{background-color:#ffbd2e}.dot-green{background-color:#27c93f}.browser-address-bar{align-items:center;background-color:#2a2a2a;border-radius:6px;display:flex;flex:1 1;padding:6px 14px}.address-text{color:#999;font-family:Poppins,sans-serif;font-size:.85rem}.browser-content{background-color:#000;height:calc(100% - 50px);overflow-x:hidden;overflow-y:auto;scrollbar-color:#ffffff4d #0000001a;scrollbar-width:thin;width:100%}.browser-content::-webkit-scrollbar{width:8px}.browser-content::-webkit-scrollbar-track{background:#0000001a}.browser-content::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.browser-content::-webkit-scrollbar-thumb:hover{background:#ffffff80}.project-screenshot{display:block;height:auto;object-fit:cover;object-position:top left;width:100%}.project-text{padding:20px}.project-text h3{color:#242424;font-size:3rem;font-weight:700;line-height:1.2;margin:0 0 20px;text-align:left;text-transform:lowercase}.project-text p{color:#242424;font-size:1.1rem;font-weight:400;line-height:1.8;margin:0;text-align:left}.contact-section{grid-gap:80px;align-items:center;background-color:#f5f5f5;display:grid;gap:80px;grid-template-columns:1fr 1fr;padding:120px 15vw}.contact-content{text-align:left}.contact-content h2{color:#242424;font-size:4rem;font-weight:700;margin-bottom:30px;margin-top:0;text-align:left;text-transform:lowercase}.contact-content p{color:#242424;font-size:1.2rem;line-height:1.8;margin-bottom:40px;text-align:left}.contact-buttons{align-items:flex-start;display:flex;flex-direction:column;gap:20px}.contact-button{background-color:#6a7bf5;border:none;border-radius:8px;box-shadow:0 2px 8px #6a7bf54d;color:#fff;cursor:pointer;font-family:Poppins,sans-serif;font-size:1rem;font-weight:500;padding:15px 35px;text-decoration:none;text-transform:lowercase;transition:all .3s ease}.contact-button:hover{background-color:#5a6be5;box-shadow:0 4px 12px #6a7bf566;transform:translateY(-2px)}.contact-form-container{background-color:#e8e8e8;border-radius:12px;box-shadow:0 4px 20px #00000014;padding:50px}.contact-form{display:flex;flex-direction:column;gap:20px}.form-input{background-color:#fff;border:none;border-radius:8px;box-shadow:0 2px 4px #0000000d;color:#242424;font-family:Poppins,sans-serif;font-size:1rem;padding:18px 20px;transition:all .3s ease}.form-input::placeholder{color:#999;text-transform:lowercase}.form-input:focus{box-shadow:0 2px 8px #6a7bf533;outline:none}.form-textarea{font-family:Poppins,sans-serif;min-height:120px;resize:none}.form-submit-button{align-self:flex-start;background-color:#6a7bf5;border:none;border-radius:8px;box-shadow:0 2px 8px #6a7bf54d;color:#fff;cursor:pointer;font-family:Poppins,sans-serif;font-size:1rem;font-weight:500;padding:18px 35px;text-transform:lowercase;transition:all .3s ease}.form-submit-button:hover:not(:disabled){background-color:#5a6be5;box-shadow:0 4px 12px #6a7bf566;transform:translateY(-2px)}.form-submit-button:disabled{cursor:not-allowed;opacity:.6}.form-status{animation:slideIn .3s ease-out;border-radius:8px;font-size:.95rem;font-weight:500;padding:15px 20px;text-align:left}.form-status-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.form-status-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.App-footer{background-color:#333;color:#fff;margin-top:auto;padding:30px 20px}.App-footer p{font-size:1rem;margin:0}@media (max-width:1024px){.site-header{left:15%;width:70%}.hero-content{left:0;top:50vh}.services-section{padding:0 5vw}.projects-section{min-height:0}.project-image-box{aspect-ratio:10/10}.contact-section{gap:50px;padding:120px 10vw}.contact-form-container{padding:20px}}@media (max-width:640px){.site-header{display:none}.mobile-header-btn,.mobile-header-btn-internal{display:block!important}.mobile-header{display:flex!important}.project-image-box{transition:none;will-change:auto}.hero-content{height:50%;top:15vh}.hero-content h1{font-size:5rem;line-height:1;padding-bottom:30px}.hero-section .hero-content p{font-size:1.5rem}.hero-cta-button{font-size:1rem;padding:.875rem 2rem}.App-header h1{font-size:2rem}.App-header p{font-size:1.2rem}.hero-section{height:91vh;margin-bottom:0}.services-section{padding:50px 5vw}.services-section h2{font-size:3rem;line-height:1;margin-bottom:40px}.services-list{gap:40px}.service-item{gap:20px;padding-bottom:40px}.contact-section{box-sizing:border-box;gap:40px;grid-template-columns:1fr;padding:50px 20px}.contact-form-container{box-sizing:border-box;max-width:100%;padding:30px 20px;width:100%}.contact-form,.form-input{box-sizing:border-box}.form-input{width:100%}.form-submit-button{box-sizing:border-box;max-width:100%}.contact-content h2{font-size:3rem;line-height:1;text-align:center}.about-section{gap:0;grid-template-columns:1fr;padding:50px 5vw}.about-section h2{font-size:3rem;line-height:1}#james-photo{margin:0 auto;max-width:300px}.projects-section{padding:50px 5vw}.projects-section h2{font-size:3rem;line-height:1}.project-item,.project-item-reverse{gap:30px;grid-template-columns:1fr;margin-bottom:40px}.project-item-reverse .project-image-box{order:-1}.project-item-reverse .project-text{order:0}.project-text h3{font-size:2rem}.project-text p{font-size:1rem}}@media (min-width:641px) and (max-width:1024px){.site-header{display:block!important;left:12.5%;width:75%}.site-nav{gap:1.2rem}.site-nav a{font-size:.95rem}.mobile-header,.mobile-header-btn,.mobile-header-btn-internal{display:none!important}}@media (min-width:1025px) and (max-width:1304px){.site-nav{gap:1.5rem}.site-nav a{font-size:1rem}}@media (min-width:1305px){.mobile-header,.mobile-header-btn,.mobile-header-btn-internal{display:none!important}}.dither-background{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0);will-change:transform}.dither-background canvas{image-rendering:auto;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}@media (max-width:640px){.dither-background{transform:none;will-change:auto}.dither-background canvas{image-rendering:pixelated}}.dither-container{height:100%;position:relative;width:100%}
/*# sourceMappingURL=main.7bb7cb8f.css.map*/