*,*:after,*:before{box-sizing:border-box}:root{font-size:12px;--color-text: #fff;--color-bg: #000;--color-link: #fff;--color-link-hover: #fff;--page-padding: 1.5rem}body{margin:0;color:var(--color-text);background-color:var(--color-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;min-height:100dvh;overflow-x:hidden;overflow-y:auto}@media(scripting:enabled){.loading:before,.loading:after{content:"";position:fixed;z-index:10000}.loading:before{top:0;left:0;width:100%;height:100%;background:var(--color-bg)}.loading:after{top:50%;left:50%;width:100px;height:1px;margin:0 0 0 -50px;background:var(--color-link);animation:loaderAnim 1.5s ease-in-out infinite alternate forwards}}@keyframes loaderAnim{0%{transform:scaleX(0);transform-origin:0% 50%}50%{transform:scaleX(1);transform-origin:0% 50%}50.1%{transform:scaleX(1);transform-origin:100% 50%}to{transform:scaleX(0);transform-origin:100% 50%}}a{text-decoration:none;color:var(--color-link);outline:none;cursor:pointer}a:hover{text-decoration:underline;color:var(--color-link-hover)}.fixed-logo{position:fixed;top:20px;left:20px;z-index:1000;width:150px;opacity:0;transform:translateY(-20px);transition:opacity .5s ease,transform .5s ease;pointer-events:none}.fixed-logo.visible{opacity:1;transform:translateY(0);pointer-events:auto}.fixed-logo img{width:100%;height:auto}.fixed-logo:hover{text-decoration:none}@media screen and (min-width:53em){.fixed-logo{width:190px}}.nav-menu{position:fixed;top:20px;right:20px;z-index:1000;display:flex;gap:2.5rem;opacity:1;transform:translateY(0);transition:opacity .5s ease,transform .5s ease;pointer-events:auto}.nav-menu.visible{opacity:1;transform:translateY(0);pointer-events:auto}.nav-menu__item{position:relative;text-decoration:none;color:#fff;font-size:1.15rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;display:flex}.nav-menu__item:hover{text-decoration:none}.nav-menu__letter{display:inline-block;position:relative;overflow:hidden;height:1.3em}.nav-menu__letter-inner{display:block;transition:none}.nav-menu__item:hover .nav-menu__letter-inner{transition:transform .4s cubic-bezier(.23,1,.32,1)}.nav-menu__letter-inner:after{content:attr(data-letter);display:block;position:absolute;left:0}.nav-menu__letter:nth-child(odd) .nav-menu__letter-inner:after{top:-100%}.nav-menu__letter:nth-child(2n) .nav-menu__letter-inner:after{top:100%}.nav-menu__item:hover .nav-menu__letter:nth-child(odd) .nav-menu__letter-inner{transform:translateY(100%)}.nav-menu__item:hover .nav-menu__letter:nth-child(2n) .nav-menu__letter-inner{transform:translateY(-100%)}.nav-menu__letter:nth-child(1) .nav-menu__letter-inner{transition-delay:0ms}.nav-menu__letter:nth-child(2) .nav-menu__letter-inner{transition-delay:20ms}.nav-menu__letter:nth-child(3) .nav-menu__letter-inner{transition-delay:40ms}.nav-menu__letter:nth-child(4) .nav-menu__letter-inner{transition-delay:60ms}.nav-menu__letter:nth-child(5) .nav-menu__letter-inner{transition-delay:80ms}.nav-menu__letter:nth-child(6) .nav-menu__letter-inner{transition-delay:.1s}.nav-menu__letter:nth-child(7) .nav-menu__letter-inner{transition-delay:.12s}.nav-menu__letter:nth-child(8) .nav-menu__letter-inner{transition-delay:.14s}.nav-menu__letter:nth-child(9) .nav-menu__letter-inner{transition-delay:.16s}.nav-menu__letter:nth-child(10) .nav-menu__letter-inner{transition-delay:.18s}.nav-menu__letter:nth-child(11) .nav-menu__letter-inner{transition-delay:.2s}.nav-menu__toggle{display:none}@media screen and (max-width:53em){.nav-menu{display:none}}.hero-section{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:100;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:1;transition:opacity .8s ease-out}.hero-section.hidden{opacity:0;pointer-events:none}.hero-section__video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.hero-section__overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0006}.hero-section__logo{position:relative;z-index:10;width:30vw;max-width:400px}.hero-section__logo img{width:100%;height:auto}.hero-section__scroll-hint{position:absolute;bottom:calc(3rem + 150px);left:50%;transform:translate(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#fffc;font-size:1rem;text-transform:uppercase;letter-spacing:.2em;animation:bounce 2s ease-in-out infinite;pointer-events:auto}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(10px)}}.content{padding:var(--page-padding);display:flex;flex-direction:column;width:100vw;min-height:100vh;height:100vh;position:relative}@media screen and (min-width:53em){.content{min-height:100vh;justify-content:center;align-items:center}}canvas{display:none}.gallery__media__gl{position:relative}.gallery__info{position:absolute;bottom:0;left:0;right:0;padding:2rem;background:none;opacity:1;pointer-events:none;z-index:100}.gallery__info__title{font-size:2rem;font-weight:700;margin:0 0 .5rem;color:#fff;letter-spacing:.02em;text-transform:uppercase}.gallery__info__credits{font-size:1rem;color:#fffc;margin:0}.gallery__info__role{color:#ffffff80;text-transform:uppercase;font-size:.85rem;letter-spacing:.1em;margin-right:.3rem}.gallery__info__separator{margin:0 .8rem;color:#ffffff4d}@media screen and (min-width:53em){.gallery__info{padding:3rem}.gallery__info__title{font-size:2.2rem}.gallery__info__credits{font-size:1.2rem}}.about-section{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:6rem 2rem;background:linear-gradient(180deg,#000,#111)}.about-section__content{max-width:800px;text-align:center}.about-section__title{font-size:2.5rem;font-weight:300;letter-spacing:.3em;text-transform:uppercase;margin:0 0 3rem;color:#fff}.about-section__text{font-size:1.3rem;line-height:1.9;color:#fffc;font-weight:300;margin:0}.selected-work-header{padding:6rem 2rem 2rem;background:#000}.selected-work-header__title{font-size:2.5rem;font-weight:300;letter-spacing:.3em;text-transform:uppercase;margin:0;color:#fff;display:flex;align-items:center;gap:1rem}.selected-work-header__arrow{opacity:.6;transition:all .3s ease}.selected-work-header__title:hover .selected-work-header__arrow{opacity:1;transform:translate(5px)}.clients-section{padding:6rem 2rem;background:#111}.clients-section__content{max-width:1200px;margin:0 auto;text-align:center}.clients-section__title{font-size:2.5rem;font-weight:300;letter-spacing:.3em;text-transform:uppercase;margin:0 0 4rem;color:#fff}.clients-section__logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:3rem 4rem}.client-logo{flex:0 0 auto;opacity:.9;transition:all .3s ease}.client-logo:hover{opacity:1;transform:scale(1.05)}.client-logo img{height:50px;width:auto;max-width:180px;object-fit:contain}.contact-section{min-height:50vh;display:flex;align-items:center;justify-content:center;padding:6rem 2rem;background:linear-gradient(180deg,#111,#000)}.contact-section__content{text-align:center}.contact-section__title{font-size:2.5rem;font-weight:300;letter-spacing:.3em;text-transform:uppercase;margin:0 0 2rem;color:#fff}.contact-section__text{font-size:1.3rem;color:#ffffffb3;margin:0 0 3rem;font-weight:300}.contact-section__email{display:inline-block;font-size:1.5rem;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:.5rem;transition:border-color .3s ease;letter-spacing:.1em}.contact-section__email:hover{border-color:#fff}.footer{padding:3rem 2rem;text-align:center;background:#000;border-top:1px solid rgba(255,255,255,.1)}.footer p{margin:0;font-size:.9rem;color:#fff6;letter-spacing:.1em}@media screen and (min-width:53em){.about-section__text,.contact-section__text{font-size:1.5rem}.client-logo img{height:50px;max-width:180px}.clients-section__logos{gap:4rem 6rem}}.video-player{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;z-index:10000;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease}.video-player.active{opacity:1;visibility:visible}.video-player__header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#000c;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.video-player__back{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:#fff;font-size:.9rem;cursor:pointer;padding:.5rem;margin:-.5rem;opacity:.7;transition:opacity .2s ease;font-family:inherit;letter-spacing:.1em;text-transform:uppercase}.video-player__back:hover{opacity:1}.video-player__back svg{width:20px;height:20px}.video-player__playpause{display:flex;align-items:center;justify-content:center;background:none;border:none;color:#fff;cursor:pointer;padding:.5rem;margin:-.5rem;opacity:.7;transition:opacity .2s ease}.video-player__playpause:hover{opacity:1}.video-player__playpause .icon-pause,.video-player.playing .video-player__playpause .icon-play{display:none}.video-player.playing .video-player__playpause .icon-pause{display:block}.video-player__content{flex:1;position:relative;overflow:hidden}.video-player__content iframe{position:absolute;top:0;left:0;width:100%;height:100%}body.video-playing .fixed-logo,body.video-playing .nav-menu,body.video-playing main{opacity:0;transition:opacity .3s ease;pointer-events:none}.gallery__media__gl{cursor:pointer}.about-section__team{display:flex;justify-content:center;gap:4rem;flex-wrap:wrap;margin-top:4rem}.team-member{max-width:320px;text-align:center}.team-member__photo{width:180px;height:180px;border-radius:50%;object-fit:cover;margin-bottom:1.5rem;border:2px solid rgba(255,255,255,.1)}.team-member__photo--placeholder{background:linear-gradient(135deg,#333,#1a1a1a);display:flex;align-items:center;justify-content:center;font-size:3rem;color:#ffffff4d}.team-member__name{font-size:1.1rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.3rem;color:#fff}.team-member__role{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:#ffffff80;margin-bottom:1rem}.team-member__bio{font-size:.95rem;line-height:1.6;color:#ffffffb3}@media screen and (max-width:768px){.team-section__members{gap:3rem}.team-member__photo{width:150px;height:150px}}
