.hero{
    width:100%;
    height: 100vh;
    min-height:400px;
    display:flex;
    justify-content:center;
    align-items:center;
    padding-block:min(38rem,38vh);
    position:relative;
}
@media screen and (orientation:portrait){
    .hero{
        min-height:500px;
        padding-block:0rem;
        position:relative;
        overflow:hidden
    }
}
.hero .hero-background{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    pointer-events:none;
    z-index:-1;
    mask-image:linear-gradient(black 50%,transparent);
    -webkit-mask-image:linear-gradient(black 50%,transparent);
}
.hero .hero-flex{
    display:flex;
    flex-direction:column;
    align-items:center
}
@media screen and (orientation:portrait){
    .hero .hero-flex{
        width:100%
    }
}
.hero .hero-flex .uptown-link-t1{
    position:relative;
    margin-bottom:3.5rem;
}
@media screen and (orientation:portrait){
    .hero .hero-flex .uptown-link-t1{
        margin-bottom:.7rem
    }
}
.hero .hero-flex .hero-heading{
    color:#fdfdfd;
    font-size:var(--font-180);
    line-height:80%;
    text-transform:uppercase;
    margin-bottom:4.5rem;
}
@media screen and (orientation:portrait){
    .hero .hero-flex .hero-heading{
        font-size: 3rem !important;
        line-height:120%;
        margin-bottom:1rem
    }
}
.hero .hero-flex .hero-description{
    color:#fdfdfd;
    text-align: left;
    font-size:var(--font-25);
    line-height:normal;
    max-width:67.6rem;
    margin-bottom:5rem;
}
@media screen and (orientation:portrait){
    .hero .hero-flex .hero-description{
        font-size:1.4rem;
        max-width:30.5rem;
        margin-bottom:2.6rem
    }
}

.hero .hero-flex .CTA-btn .CTA-btn__border:after{
    background:linear-gradient(90deg,#fff,#fff0 10%,#fff0 89.92%,#fff)
}
.hero .hero-flex .CTA-btn .CTA-btn__inner{
    display:flex;
    align-items:center;
    padding:1rem 2.5rem;
    gap:1.5rem
}
@media screen and (orientation:portrait){
    .hero .hero-flex .CTA-btn .CTA-btn__inner{
        gap:.8rem;
        padding:1rem 2.5rem
    }
}
.hero .hero-flex .CTA-btn .CTA-btn__icon{
    background:#fff;
    width:1rem;
    height:1rem
}
@media screen and (orientation:portrait){
    .hero .hero-flex .CTA-btn .CTA-btn__icon{
        width:.8rem;
        height:.8rem
    }
}
.hero .hero-flex .CTA-btn .CTA-btn__text{
    color:#fff
}
.hero .hero__lines{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    z-index:-1;
    pointer-events:none;
    overflow:hidden;
    -webkit-mask-image:linear-gradient(black 80%,transparent);
    mask-image:linear-gradient(black 80%,transparent)
}
.creating{
    width:100%;
    padding-block:17.5rem 10rem;
    position:relative;
}
@media screen and (orientation:portrait){
    .creating{
        padding-block:6rem 12rem
    }
}
.creating .creating__lines{
    position:absolute;
    z-index:-1;
    pointer-events:none;
    overflow:hidden;
    -webkit-mask-image:linear-gradient(transparent,black 10%,black 90%,transparent);
    mask-image:linear-gradient(transparent,black 10%,black 90%,transparent);
    opacity:.6;
    top:0;
    left:0;
    width:100%;
    height:auto
}
@media screen and (orientation:portrait){
    .creating .creating__lines{
        display:block;
        opacity:1;
        top:0;
        right:0;
        bottom:0;
        left:0
    }
}
.creating .creating-flex{
    display:flex;
    flex-direction:column;
    align-items:center
}
.creating .creating-flex .creating-text{
    position:relative;
    color:#fdfdfd;
    text-align: left;
    font-size:8rem;
    line-height:normal;
    text-transform:uppercase;
    max-width:134.6rem;
    z-index:1
}
@media screen and (orientation:portrait){
    .creating .creating-flex .creating-text{
        font-size:2.5rem;
        max-width:33.5rem
    }
}
.creating .creating-flex .creating-image{
    width:75.2rem;
    height:56.4rem;
    flex-shrink:0;
    margin-top:-9rem
}
.creating .creating-flex .creating-image img{
    display:inline-block;
    border-radius: 12px;
}
@media screen and (orientation:portrait){
    .creating .creating-flex .creating-image{
        width:30rem;
        height:22.3rem;
        margin-top:-6rem
    }
}
.mission{
    padding-inline:19.4rem;
    position:relative
}
@media screen and (orientation:portrait){
    .mission{
        padding-inline:2rem
    }
}
.mission .mission__lines{
    position:absolute;
    z-index:-1;
    pointer-events:none;
    overflow:hidden;
    top:0;
    left:0;
    width:100%;
    height:auto;
    -webkit-mask-image:linear-gradient(transparent,black 10%,black 90%,transparent);
    mask-image:linear-gradient(transparent,black 10%,black 90%,transparent)
}
@media screen and (orientation:portrait){
    .mission .mission__lines{
        display:block;
        top:0;
        right:0;
        bottom:0;
        left:0;
        -webkit-mask-image:linear-gradient(transparent,#000 10%,#000);
        mask-image:linear-gradient(transparent,#000 10%,#000)
    }
}
.mission .mission-flex{
    display:flex;
    flex-direction:column;
    width:100%
}
.mission .mission-flex .mission-media{
    position:relative;
    margin-bottom:12rem;
    width:100%
}
@media screen and (orientation:portrait){
    .mission .mission-flex .mission-media{
        margin-bottom:10rem;
        width:100%;
        height:17.2rem
    }
}
.mission .mission-flex .mission-media .mission-image{
    width:78%;
    border-radius: 12px;
}
@media screen and (orientation:portrait){
    .mission .mission-flex .mission-media .mission-image{
        width:31.5rem;
        height:100%
    }
}
@media screen and (min-width:482px)and (max-width:991px)and (orientation:portrait){
    .mission .mission-flex .mission-media .mission-image{
        width:78%
    }
}
.mission .mission-flex .mission-media video{
    position:absolute;
    top:56%;
    right:0rem;
    width:42%;
    height:auto
}
@media screen and (orientation:portrait){
    .mission .mission-flex .mission-media video{
        top:10.8rem;
        left:14rem;
        width:20rem;
        height:12.5rem
    }
}
@media screen and (min-width:482px)and (max-width:991px)and (orientation:portrait){
    .mission .mission-flex .mission-media video{
        top:56%;
        right:0rem;
        left:auto;
        width:42%;
        height:auto
    }
}
.mission .mission-flex .mission-heading{
    color:#fff;
    font-size: 61px;
    font-weight: 500;
    line-height:105%;
    letter-spacing:1px;
    text-transform:uppercase;
    margin-bottom:3rem
}
@media screen and (orientation:portrait){
    .mission .mission-flex .mission-heading{
        font-size:3.5rem;
        letter-spacing:.6px;
        margin-bottom:1.4rem
    }
}
.mission .mission-flex .mission-text{
    width:57rem;
    color:#ffffff80;
    font-size:var(--font-25);
    line-height:128%;
    margin-bottom:5.8rem
}
.mission .mission-flex .mission-text span{
    color:#fdfdfd
}
@media screen and (orientation:portrait){
    .mission .mission-flex .mission-text{
        width:28rem;
        font-size:1.4rem;
        line-height:138%;
        margin-bottom:2.6rem
    }
}
.mission .mission-flex .CTA-btn{
    margin-top:.5rem
}
@media screen and (orientation:portrait){
    .mission .mission-flex .CTA-btn{
        margin-top:.3rem
    }
}
.mission .mission-flex .CTA-btn .CTA-btn__inner{
    display:flex;
    align-items:center;
    padding:1.5rem 2.5rem;
    gap:1rem
}
@media screen and (orientation:portrait){
    .mission .mission-flex .CTA-btn .CTA-btn__inner{
        padding:1rem 2.5rem;
        gap:.8rem
    }
}
.mission .mission-flex .CTA-btn .CTA-btn__icon{
    width:1rem;
    height:1rem
}
@media screen and (orientation:portrait){
    .mission .mission-flex .CTA-btn .CTA-btn__icon{
        width:.8rem;
        height:.8rem
    }
}
.vision{
    width:100%;
    height:100vh;
    padding-inline:19.5rem 10.5rem;
    padding-block:16rem;
    position:relative
}
@media screen and (orientation:portrait){
    .vision{
        height:fit-content;
        max-height:fit-content;
        padding-inline:2rem;
        padding-block:11rem 8.5rem
    }
}
.vision .vision__lines{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    z-index:-1;
    pointer-events:none;
    overflow:hidden;
    -webkit-mask-image:linear-gradient(transparent,black 20%,black 50%,transparent);
    mask-image:linear-gradient(transparent,black 20%,black 50%,transparent)
}
@media screen and (orientation:portrait){
    .vision .vision__lines{
        -webkit-mask-image:linear-gradient(transparent,black 00%,black 90%,transparent);
        mask-image:linear-gradient(transparent,black 00%,black 90%,transparent)
    }
}
.vision .vision-flex{
    display:flex;
    gap:20rem;
    align-items:flex-start
}
@media screen and (orientation:portrait){
    .vision .vision-flex{
        display:flex;
        gap:3.8rem;
        flex-direction:column-reverse
    }
}
.vision .vision-flex .vision-content{
    display:flex;
    flex-direction:column;
    gap:3.3rem;
    margin-top:auto
}
@media screen and (orientation:portrait){
    .vision .vision-flex .vision-content{
        gap:2rem;
        margin-top:0
    }
}
.vision .vision-flex .vision-content .vision-heading{
    color:#fff;
    font-size: 61px;
    line-height:105%;
    font-weight: 500;
    letter-spacing:1px;
    text-transform:uppercase
}
@media screen and (orientation:portrait){
    .vision .vision-flex .vision-content .vision-heading{
        font-size:3.5rem;
        letter-spacing:.6px
    }
}
.vision .vision-flex .vision-content .vision-text{
    width: 57rem;
    font-size: 18px !important;
    color: #ffffff80;
    font-size: var(--font-25);
    line-height: 128%;
    margin-bottom: 5.8rem;
}

.vision .vision-flex .vision-content span{
    color:#fff
}
.vision .CTA-btn{
    margin-top:.5rem
}
@media screen and (orientation:portrait){
    .vision .CTA-btn{
        margin-top:.3rem
    }
}
.vision .vision-flex .CTA-btn .CTA-btn__inner{
    display:flex;
    align-items:center;
    padding:1.5rem 2.5rem;
    gap:1rem
}
@media screen and (orientation:portrait){
    .vision .vision-flex .CTA-btn .CTA-btn__inner{
        padding:1rem 2.5rem;
        gap:.8rem
    }
}
.vision .vision-flex .CTA-btn .CTA-btn__icon{
    width:1rem;
    height:1rem
}
.vision .vision-flex .CTA-btn .CTA-btn__text{
    color:#fff
}
@media screen and (orientation:portrait){
    .vision .vision-flex .CTA-btn .CTA-btn__icon{
        width:.8rem;
        height:.8rem
    }
}
.vision .vision-flex .vision-image{
    width:min(85rem,85vh);
    width:52%;
    height:min(65.3rem,65.3vh);
    flex-shrink:0;
    overflow:hidden;
    position:relative
}
.vision .vision-flex .vision-image img{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    transition:opacity 1s ease-out,transform 1s ease-out;
    border-radius: 12px;
}
.vision .vision-flex .vision-image img[data-status=in]{
    opacity:1;
    z-index:1;
    transform:scale(1)
}
.vision .vision-flex .vision-image img[data-status=out]{
    opacity:0;
    transform:scale(1.1)
}
@media screen and (orientation:portrait){
    .vision .vision-flex .vision-image{
        width:100%;
        height:26.6rem
    }
}
.safety{
    width:100%;
    height:100vh;
    min-height:400px;
    display:flex;
    justify-content:center;
    align-items:center;
    padding-block:min(38rem,38vh);
    position:relative
}
@media screen and (orientation:portrait){
    .safety{
        padding-block:20rem;
        max-height:900px
    }
}
.safety .safety-background{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    pointer-events:none;
    z-index:-1;
    mask-image:linear-gradient(black 0%,transparent);
    -webkit-mask-image:linear-gradient(black 0%,transparent)
}
.safety .safety-flex{
    display:flex;
    flex-direction:column;
    align-items:center
}
.safety .safety-flex .uptown-link-t1{
    position:relative;
    margin-bottom:3.5rem
}
@media screen and (orientation:portrait){
    .safety .safety-flex .uptown-link-t1{
        margin-bottom:.7rem;
        gap:.6rem
    }
    .safety .safety-flex .uptown-link-t1-icon{
        width:1rem;
        height:1rem
    }
    .safety .safety-flex .uptown-link-t1-text{
        font-size:1.4rem
    }
}
.safety .safety-flex .safety-heading{
    color:#fdfdfd;
    font-size:var(--font-112);
    line-height:80%;
    text-transform:uppercase;
    margin-bottom:4.5rem
}
@media screen and (orientation:portrait){
    .safety .safety-flex .safety-heading{
        font-size: 3rem;
        line-height:120%;
        margin-bottom:1rem
    }
}
.safety .safety-flex .safety-description{
    color:#fdfdfd;
    text-align:center;
    font-size:var(--font-20);
    line-height:normal;
    max-width:46.2rem;
    margin-bottom:4.5rem
}
@media screen and (orientation:portrait){
    .safety .safety-flex .safety-description{
        font-size:1.4rem;
        max-width:26.8rem;
        margin-bottom:2.5rem
    }
}
.safety .safety-flex .CTA-btn .CTA-btn__inner{
    display:flex;
    align-items:center;
    padding:1.5rem 2.5rem;
    gap:1rem
}
.safety .safety-flex .CTA-btn .CTA-btn__icon{
    width:1rem;
    height:1rem
}
@media screen and (orientation:portrait){
    .safety .safety-flex .CTA-btn .CTA-btn__inner{
        padding:1rem 2.5rem;
        gap:.8rem
    }
    .safety .safety-flex .CTA-btn .CTA-btn__icon{
        width:.8rem;
        height:.8rem
    }
}
.team{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:4.3rem;
    position:relative
}
@media screen and (orientation:portrait){
    .team{
        gap:5rem
    }
}
.team-heading{
    color:#fff;
    text-align:center;
    font-size:var(--font-50);
    line-height:120%;
    text-transform:uppercase;
    margin-bottom:min(4rem,4vh)
}
@media screen and (orientation:portrait){
    .team-heading{
        font-size:3.5rem;
        margin-bottom:0
    }
}
.team .team__lines{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    z-index:-1;
    pointer-events:none;
    overflow:hidden;
    -webkit-mask-image:linear-gradient(transparent,black 20%,black 50%,transparent);
    mask-image:linear-gradient(transparent,black 20%,black 50%,transparent)
}
.team .team__lines img{
    object-fit:contain
}
@media screen and (orientation:portrait){
    .team .team__lines{
        -webkit-mask-image:linear-gradient(transparent,black 10%,black 80%,transparent);
        mask-image:linear-gradient(transparent,black 10%,black 80%,transparent)
    }
}
.team .CTA-btn .CTA-btn__inner{
    display:flex;
    align-items:center;
    padding:1.5rem 2.5rem;
    gap:1rem
}
.team .CTA-btn .CTA-btn__icon{
    width:1rem;
    height:1rem
}
@media screen and (orientation:portrait){
    .team .CTA-btn .CTA-btn__inner{
        padding:1rem 2.5rem;
        gap:.8rem
    }
    .team .CTA-btn .CTA-btn__icon{
        width:.8rem;
        height:.8rem
    }
}
.flick-group{
    position:relative;
    width:100%;
    height:fit-content;
    padding-top:min(83rem,83vh)
}
@media screen and (orientation:portrait){
    .flick-group{
        padding-top:23rem
    }
}
.flick-group__collection{
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0
}
.flick-group__list{
    justify-content:center;
    align-items:center;
    width:100%;
    height:100%;
    display:flex;
    position:relative
}
.flick-group__item{
    position:absolute
}
.flick-card{
    color:#fff;
    -webkit-user-select:none;
    user-select:none;
    position:relative;
    overflow:hidden;
    width:49rem;
    flex-shrink:0
}
@media screen and (orientation:portrait){
    .flick-card{
        width:13rem
    }
}
.flick-card__media{
    justify-content:center;
    align-items:center;
    width:100%;
    height:100%;
    display:flex;
    position:relative;
    top:0;
    left:0;
    height:min(83rem,83vh)
}
@media screen and (orientation:portrait){
    .flick-card__media{
        height:23rem
    }
}
.cover-image{
    pointer-events:none;
    object-fit:cover;
    -webkit-user-select:none;
    user-select:none;
    width:100%;
    height:min(72.9rem,72.9vh);
    position:absolute;
    top:0;
    left:auto
}
.cover-image:after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    background-color:#171717;
    z-index:1;
    width:100%;
    height:100%;
    opacity:.6;
    transition:var(--transition)
}
@media screen and (orientation:portrait){
    .cover-image{
        width:100%;
        height:19rem
    }
}
.flick-card__btn{
    justify-content:center;
    align-items:center;
    width:100%;
    text-decoration:none;
    display:flex;
    flex-direction:column;
    position:absolute;
    bottom:0;
    left:0
}
.flick-card__btn-name{
    color:#fff;
    text-align:center;
    font-size:var(--font-25);
    line-height:normal;
    margin-bottom:2px;
    text-transform:uppercase
}
.flick-card__btn-rol{
    color:#ffffff80;
    text-align:center;
    font-size:var(--font-20);
    line-height:normal;
    text-transform:capitalize
}
@media screen and (orientation:portrait){
    .flick-card__btn-name{
        font-size:1.2rem;
        margin-bottom:5px
    }
    .flick-card__btn-rol{
        font-size:1rem
    }
}
[data-flick-cards-dragger]{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    z-index:1;
    pointer-events:auto;
    touch-action:pan-y
}
[data-flick-cards-item-status] .flick-card__media{
    transition:opacity .2s ease
}
[data-flick-cards-item-status="2-before"] .flick-card__media,[data-flick-cards-item-status="2-after"] .flick-card__media{
    transition:opacity .2s ease;
    opacity:.75
}
[data-flick-cards-item-status=active] .flick-card__media .cover-image:after{
    opacity:0
}
[data-flick-cards-item-status] .flick-card__btn{
    transition:opacity .4s cubic-bezier(.625,.05,0,1),1s cubic-bezier(.16,1,.3,1);
    opacity:0;
    transform:translateY(50%) rotate(.001deg)
}
[data-flick-cards-item-status=active] .flick-card__btn{
    opacity:1;
    transform:translate(0) rotate(.001deg)
}
.contemporary__content img{
    border-radius: 12px;
}

