.hero-title{
    width: 100%;
    height: calc(100vw/1.78);
    min-height: 250px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}
.hero-title > img{
    width: 30vw;
    min-width: 50px;
    max-width: 1000px;
    aspect-ratio: 1;
}

.hero-subtitle{
    font-size: var(--fs-200);
    line-height: var(--fs-300);
    width: 100%;
    text-align: center;
    position: absolute;
    bottom: 2%;
    z-index: 15;
}

@media (max-width: 600px) {
    .hero-subtitle {
        transform: translateY(50%);
    }
}


.hero-frame{
    width: 80%;
    max-width: 1200px;
    aspect-ratio: 2.1633;
    margin: 3rem auto;
    box-sizing: border-box;
    position: relative;
    z-index: 90;
}

.hero-frame img, .hero-frame video{
    width: 100%;
    position: absolute;
}

.hero-frame-mask{
    mask-image: url("../assets/plaxite/frameMask_wide_light.png");
    mask-size: 100%;
}

.hero-frame-text-wrapper{
    padding-bottom: 1rem;
    position: absolute;
    left: 3.75%;
    width: 92.5%;
    bottom: 10%;
    z-index: 91;
}
.hero-frame-text-wrapper p{
    color: white;
    text-align: center;
    margin: 1rem 1.2rem;
    font-size: min(5vw, 3.5rem);
    text-shadow: 0 0 25px rgba(0,0,0,1);
}

@media (max-width: 500px) {
    .hero-frame-text-wrapper{
        padding-bottom: 0;
    }
}

@media (max-width: 800px) {
    .hero-frame{
        width: 95%;
    }
    .hero-frame-text-wrapper p{
        margin: 0.5rem 1rem;
        line-height: 1rem;
    }
}

#customer-wrapper{
    margin-bottom: 8rem;
    transform: translateY(50px);
    position: relative;
    z-index: 20;
}
.gallery {
    margin: 4rem auto;
    width: 80%;
    max-width: 800px;
    overflow: hidden;
    display: flex;
    -webkit-mask: linear-gradient(90deg, #0000, #000 5% 95%, #0000);
}

.gallery-group {
    display: flex;
    gap: 4rem;
    animation: scrolling 28s linear infinite;
    box-sizing: border-box;
    padding-right: 4rem;
}

.gallery-group img{
    height: 100px;
    filter: invert(1);
}

@keyframes scrolling {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}

.team-container{
    display: grid;
    grid-template-columns: 3fr 2fr;
    align-items: center;
    max-width: 1500px;
}

#team-picture{
    width: 100%;
    aspect-ratio: 1;
}

.team-text>a{
    margin-top: 1rem;
}

@media (max-width: 800px) {
    .team-container{
        display: block;
    }
    #team-picture{
        width: 80%;
        display: block;
        margin: 2rem auto -2rem;
    }
}

#team-container{
    display: grid;
    grid-template-columns: 3fr 2fr;
    align-items: center;
    max-width: 1500px;
}

#team-picture{
    width: 100%;
    aspect-ratio: 1;
}

#team-text>a{
    margin-top: 1rem;
}

@media (max-width: 800px) {
    #team-container{
        display: block;
    }
    #team-picture{
        width: 80%;
        display: block;
        margin: 2rem auto -2rem;
    }
}

.why-projection-wrapper{
    height: 800px;
    overflow: hidden;
}

.flicker {
    animation: flicker 6s infinite;
}

@keyframes flicker {
    0%    { opacity: 0;  filter: brightness(0.9) contrast(1.2); }
    1%    { opacity: 1;    filter: brightness(1.4) contrast(0.8); }
    2%   { opacity: 0.5;  filter: brightness(0.7) contrast(1.6); }
    3%   { opacity: 0.9;  filter: brightness(1.2) contrast(1); }
    4%   { opacity: 1;    filter: brightness(1.5) contrast(0.9); }
    6%   { opacity: 0.7;  filter: brightness(0.9) contrast(1.4); }
    8%   { opacity: 0.95; filter: brightness(1.3) contrast(1.1); }
    9%   { opacity: 0.6;  filter: brightness(0.85) contrast(1.5); }
    10%   { opacity: 1;    filter: brightness(1.2) contrast(1);  }
    11%   { opacity: 0.8;  filter: brightness(1) contrast(1.3); }
    14%   { opacity: 0.65; filter: brightness(0.8) contrast(1.6); }
    16%   { opacity: 1;    filter: brightness(1.5) contrast(1);  }
    19%   { opacity: 0.6;  filter: brightness(0.75) contrast(1.5); }
    20%   { opacity: 0.95; filter: brightness(1.3) contrast(1.1); }
    22%   { opacity: 0.5;  filter: brightness(0.7) contrast(1.6); }
    26%   { opacity: 0.9;  filter: brightness(1.2) contrast(1); }
    34%   { opacity: 1;    filter: brightness(1.5) contrast(0.9); }
    36%   { opacity: 0.7;  filter: brightness(0.9) contrast(1.4); }
    40%  { opacity: 1;    filter: brightness(1) contrast(1);  }
    100%  { opacity: 1;    filter: brightness(1) contrast(1);  }
}


