:root{--bg-color: #050505;--text-color: #ffffff;--accent-color: rgba(255, 255, 255, .1);--btn-hover: rgba(255, 255, 255, .2);--primary-color: #ffffff;--primary-text: #050505}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}.cablesContainer *,body>div:not(#app):not(#cables-canvas-container):not(#cablesErrorConsole) *{box-sizing:content-box!important;margin:revert;padding:revert}.cablesContainer>div,body>div:not(#app):not(#cables-canvas-container):not(#cablesErrorConsole){margin:.75rem!important;background:transparent!important;border:none!important;box-shadow:none!important}.cablesContainer>div svg,body>div:not(#app):not(#cables-canvas-container):not(#cablesErrorConsole) svg{width:24px!important;height:24px!important;stroke:#fff!important}body{font-family:Space Grotesk,sans-serif;background-color:var(--bg-color);color:var(--text-color);overflow:hidden}body:before{content:"";position:fixed;top:1.5rem;left:1.5rem;width:calc(100vw - 3rem);height:calc(100vh - 3rem);height:calc(100dvh - 3rem);border:1px solid rgba(255,255,255,.2);z-index:5;pointer-events:none}#cables-canvas-container{position:absolute;top:0;left:0;width:100vw;height:100vh;height:100dvh;z-index:-1;background:radial-gradient(circle at center,#1a1a2e,#050505);opacity:0;transition:opacity .4s ease-in-out}#cables-canvas-container.loaded{opacity:1}#cables-canvas-container canvas{display:block;position:absolute;outline:0;width:100vw;height:100vh;height:100dvh}#app{position:relative;z-index:10;-webkit-transform:translateZ(0);transform:translateZ(0);width:100vw;height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(4rem,10vh,8rem);pointer-events:none;opacity:0;transition:opacity .5s ease-in-out}#app.fonts-loaded{opacity:1}.hero{pointer-events:auto;display:flex;flex-direction:column;align-items:center;width:100%;padding:0 2rem}.hero-content{text-align:center;display:flex;flex-direction:column;gap:clamp(1.5rem,4vh,3rem);width:100%}.title{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.4;text-transform:uppercase;gap:1rem}.name{font-weight:700;font-size:clamp(2rem,5vw,3.5rem);letter-spacing:.1em;color:#fff}.subtitle{font-weight:400;font-size:clamp(.8rem,1.5vw,1.2rem);letter-spacing:.15em;color:#fffc;display:flex;align-items:center;justify-content:center;gap:.8rem;flex-wrap:wrap}.slash{opacity:.5}#linear-carousel{position:relative;width:calc(100vw - 3rem);height:clamp(150px,20vw + 40px,280px);overflow:hidden;z-index:15;pointer-events:auto;display:flex;align-items:center;-webkit-mask-image:linear-gradient(to right,transparent 0%,transparent 1%,rgba(0,0,0,.2) 1%,rgba(0,0,0,.2) 2%,rgba(0,0,0,.4) 2%,rgba(0,0,0,.4) 3%,rgba(0,0,0,.6) 3%,rgba(0,0,0,.6) 4%,rgba(0,0,0,.8) 4%,rgba(0,0,0,.8) 5%,black 5%,black 95%,rgba(0,0,0,.8) 95%,rgba(0,0,0,.8) 96%,rgba(0,0,0,.6) 96%,rgba(0,0,0,.6) 97%,rgba(0,0,0,.4) 97%,rgba(0,0,0,.4) 98%,rgba(0,0,0,.2) 98%,rgba(0,0,0,.2) 99%,transparent 99%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,transparent 1%,rgba(0,0,0,.2) 1%,rgba(0,0,0,.2) 2%,rgba(0,0,0,.4) 2%,rgba(0,0,0,.4) 3%,rgba(0,0,0,.6) 3%,rgba(0,0,0,.6) 4%,rgba(0,0,0,.8) 4%,rgba(0,0,0,.8) 5%,black 5%,black 95%,rgba(0,0,0,.8) 95%,rgba(0,0,0,.8) 96%,rgba(0,0,0,.6) 96%,rgba(0,0,0,.6) 97%,rgba(0,0,0,.4) 97%,rgba(0,0,0,.4) 98%,rgba(0,0,0,.2) 98%,rgba(0,0,0,.2) 99%,transparent 99%,transparent 100%);opacity:0;transition:opacity .5s ease-in-out}#linear-carousel.loaded{opacity:1}.carousel-track{display:inline-flex;height:100%;gap:2rem;padding-right:2rem;width:max-content}#linear-carousel.loaded .carousel-track{-webkit-animation:scrollTrack 45s linear infinite;animation:scrollTrack 45s linear infinite}@media (hover: hover){.carousel-track:hover{animation-play-state:paused}}body.modal-open #linear-carousel.loaded .carousel-track{animation-play-state:paused}@keyframes scrollTrack{0%{transform:translate(0)}to{transform:translate(-50%)}}.carousel-item{position:relative;flex:0 0 auto;width:clamp(200px,25vw,400px);height:100%;border-radius:0;border:1px solid rgba(255,255,255,.2);box-shadow:0 10px 30px #00000080;cursor:pointer;transition:border-color .3s;overflow:hidden}.carousel-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:opacity .3s ease;pointer-events:none}.carousel-img.animated{opacity:0}.carousel-item.contain-img .carousel-img{object-fit:contain;background-color:#28282880}@media (hover: hover){.carousel-item:hover .carousel-img.static{opacity:0}.carousel-item:hover .carousel-img.animated{opacity:1}.carousel-item:hover{border-color:#ffffff80}}.nav-buttons{display:flex;align-items:center;justify-content:center;gap:1.2rem}.separator{color:#ffffff4d;font-size:1.2rem}.btn{background:none;border:none;color:#ffffffb3;font-family:Space Grotesk,sans-serif;font-size:clamp(.9rem,1.5vw,1.1rem);font-weight:400;cursor:pointer;padding:0;text-transform:lowercase;letter-spacing:.15em;transition:color .3s ease,transform .3s ease}.btn:hover{color:#fff;transform:translateY(-2px)}.change-bg-btn{position:absolute;top:1.5rem;right:1.5rem;z-index:0;pointer-events:auto;padding:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.change-bg-btn .btn-label{font-size:.75rem;line-height:1;margin-bottom:2px;letter-spacing:.15em;opacity:0;transform:translate(10px);transition:opacity .3s ease,transform .3s ease;white-space:nowrap}.change-bg-btn:hover{transform:translateY(-2px)}.change-bg-btn:hover .btn-label{opacity:1;transform:translate(0)}.change-bg-btn svg{transition:transform .4s ease}.change-bg-btn:hover svg{transform:rotate(180deg)}.modal-content.portfolio-list-content{width:calc(100vw - 3rem);height:calc(100vh - 3rem);height:calc(100dvh - 3rem);max-width:none;display:flex;flex-direction:column}.portfolio-list{display:flex;flex-direction:column;gap:1.5rem;flex:1;overflow-y:auto;padding-right:1rem}.portfolio-list::-webkit-scrollbar{width:8px}.portfolio-list::-webkit-scrollbar-track{background:#ffffff0d}.portfolio-list::-webkit-scrollbar-thumb{background:#fff3}.portfolio-list-item{display:flex;gap:1.5rem;align-items:center;padding:1rem;background:#ffffff08;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:background .3s,border-color .3s}.portfolio-list-item:hover{background:#ffffff14;border-color:#fff6}.portfolio-list-thumb{width:120px;height:80px;object-fit:cover;flex-shrink:0;border:1px solid rgba(255,255,255,.2)}.portfolio-list-info h3{font-size:1.2rem;margin-bottom:.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.portfolio-list-info p{font-size:.9rem;opacity:.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;opacity:.8}.form-group input,.form-group textarea{background:#ffffff0d;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.8rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .3s,background .3s;border-radius:0;outline:none}.form-group input:focus,.form-group textarea:focus{border-color:#fffc;background:#ffffff1a}.submit-btn{align-self:flex-start;margin-top:1rem;padding:.8rem 2rem;background:#fff;color:#000;font-weight:700;border:1px solid white}.submit-btn:hover{background:transparent;color:#fff}.modal-carousel{position:relative;width:100%;aspect-ratio:16/9;background:#000;margin:1.5rem 0;overflow:hidden}.modal-carousel-track{display:flex;width:100%;height:100%;transition:transform .4s cubic-bezier(.25,1,.5,1)}.modal-carousel-track img,.modal-carousel-track iframe,.modal-carousel-track video{flex:0 0 100%;width:100%;height:100%;object-fit:contain}.modal-carousel-nav{position:absolute;top:50%;transform:translateY(-50%);background:#00000080;color:#fff;border:1px solid rgba(255,255,255,.2);width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:background .3s,border-color .3s}.modal-carousel-nav:hover{background:#000c;border-color:#fffc}.modal-carousel-nav.prev{left:10px}.modal-carousel-nav.next{right:10px}.project-links{display:flex;align-items:center;justify-content:flex-start;gap:1.2rem;margin-top:2rem}.project-links .btn{font-size:.9rem;letter-spacing:.1em;text-decoration:none}.project-links .separator{font-size:1rem}.modal{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;background:#000c;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);display:flex;align-items:center;justify-content:center;opacity:1;transition:opacity .4s ease;z-index:100;pointer-events:auto}.modal.hidden{opacity:0;pointer-events:none}.modal-content{background:#141414b3;border:1px solid rgba(255,255,255,.1);padding:3rem;border-radius:0;position:relative;width:90%;max-width:600px;transform:translateY(0);transition:transform .4s ease;box-shadow:0 25px 50px -12px #00000080;color:#fff}.modal.hidden .modal-content{transform:translateY(20px)}#modal-project-details .modal-content{max-width:900px}.modal-content.video-content{width:calc(100vw - 3rem);height:calc(100vh - 3rem);height:calc(100dvh - 3rem);max-width:none;padding:0;display:flex;background:#000}.close-btn{position:absolute;top:1rem;right:1.5rem;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;transition:opacity .2s;z-index:10}.close-btn:hover{opacity:.7}h2{font-size:clamp(1.5rem,3vw,2.5rem);font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:2rem}p{font-size:1.1rem;color:#ffffffb3;line-height:1.6}.email-link{color:#fff;text-decoration:underline;text-underline-offset:4px}.video-placeholder{width:100%;height:100%;background:#000;border-radius:0;overflow:hidden;display:flex}#showreel-video{width:100%;height:100%;object-fit:contain}@media (max-width: 768px){#app{gap:2rem}.nav-buttons{gap:.8rem}.btn{font-size:.8rem}.subtitle{flex-direction:row;flex-wrap:wrap;gap:.5rem;font-size:1.1rem;line-height:1.5}.slash{display:none}#linear-carousel{height:230px}.carousel-item{width:230px;max-width:none}.change-bg-btn{top:1rem;right:1rem}body:before{top:1rem;left:1rem;width:calc(100vw - 2rem);height:calc(100vh - 2rem);height:calc(100dvh - 2rem)}.modal-content{width:calc(100vw - 2rem);padding:1.5rem}.modal-content.portfolio-list-content,.modal-content.video-content{width:calc(100vw - 2rem);height:calc(100vh - 2rem);height:calc(100dvh - 2rem)}.close-btn{top:.5rem;right:.5rem}h2{margin-bottom:1rem}.cablesContainer>div,body>div:not(#app):not(#cables-canvas-container):not(#cablesErrorConsole){margin:.25rem!important}}
