@charset "UTF-8";
/* Font Face */
/* FKScreamer */
@font-face{
    font-family:"FKScreamer";
    src:url("fonts/FKScreamer-Bold.woff2") format("woff2"),url("fonts/FKScreamer-Bold.woff") format("woff");
    font-style:normal;
    font-weight:700;
    font-display:swap
}
/* SourceSansPro */
@font-face{
    font-family:"SourceSansPro";
    src:url("fonts/SourceSansPro-Regular.woff2") format("woff2"),url("fonts/SourceSansPro-Regular.woff") format("woff");
    font-style:normal;
    font-weight:400;
    font-display:swap
}
@font-face{
    font-family:"SourceSansPro";
    src:url("fonts/SourceSansPro-Bold.woff2") format("woff2"),url("fonts/SourceSansPro-Bold.woff") format("woff");
    font-style:normal;
    font-weight:700;
    font-display:swap
}
@font-face{
    font-family:"SourceSansPro";
    src:url("fonts/SourceSansPro-SemiBold.woff2") format("woff2"),url("fonts/SourceSansPro-SemiBold.woff") format("woff");
    font-style:normal;
    font-weight:500;
    font-display:swap
}
/* RobotoMono */
@font-face{
    font-family:"RobotoMono";
    src:url("fonts/RobotoMono-Regular.woff2") format("woff2"),url("fonts/RobotoMono-Regular.woff") format("woff");
    font-style:normal;
    font-weight:400;
    font-display:swap
}
@font-face{
    font-family:"RobotoMono";
    src:url("fonts/RobotoMono-Bold.woff2") format("woff2"),url("fonts/RobotoMono-Bold.woff") format("woff");
    font-style:normal;
    font-weight:700;
    font-display:swap
}
/* @link https://utopia.fyi/type/calculator?c=320,16,1.2,1600,18,1.2,10,2,&s=0.75|0.5,1.5|2|3|4|6|7|8|9|10|11,s-l&g=s,l,xl,12 */
:root{
    --step--2:clamp(0.69rem, calc(0.67rem + 0.11vw), 0.78rem);
    --step--1:clamp(0.83rem, calc(0.81rem + 0.13vw), 0.94rem);
    --step-0:clamp(1rem, calc(0.97rem + 0.16vw), 1.13rem);
    --step-1:clamp(1.2rem, calc(1.16rem + 0.19vw), 1.35rem);
    --step-2:clamp(1.44rem, calc(1.4rem + 0.23vw), 1.62rem);
    --step-3:clamp(1.73rem, calc(1.67rem + 0.27vw), 1.94rem);
    --step-4:clamp(2.07rem, calc(2.01rem + 0.32vw), 2.33rem);
    --step-5:clamp(2.49rem, calc(2.41rem + 0.39vw), 2.8rem);
    --step-6:clamp(2.99rem, calc(2.89rem + 0.47vw), 3.36rem);
    --step-7:clamp(3.58rem, calc(3.47rem + 0.56vw), 4.03rem);
    --step-8:clamp(4.3rem, calc(4.17rem + 0.67vw), 4.84rem);
    --step-9:clamp(5.16rem, calc(5rem + 0.81vw), 5.81rem);
    --step-10:clamp(6.19rem, calc(6rem + 0.97vw), 6.97rem);
    /* grid */
    --space-2xs:clamp(0.5rem, calc(0.48rem + 0.08vw), 0.56rem);
    --space-xs:clamp(0.75rem, calc(0.72rem + 0.16vw), 0.88rem);
    --space-s:clamp(1rem, calc(0.97rem + 0.16vw), 1.13rem);
    --space-m:clamp(1.5rem, calc(1.45rem + 0.23vw), 1.69rem);
    --space-l:clamp(2rem, calc(1.94rem + 0.31vw), 2.25rem);
    --space-xl:clamp(3rem, calc(2.91rem + 0.47vw), 3.38rem);
    --space-2xl:clamp(4rem, calc(3.88rem + 0.63vw), 4.5rem);
    --space-3xl:clamp(6rem, calc(5.81rem + 0.94vw), 6.75rem);
    --space-4xl:clamp(7rem, calc(6.78rem + 1.09vw), 7.88rem);
    --space-5xl:clamp(8rem, calc(7.75rem + 1.25vw), 9rem);
    --space-6xl:clamp(9rem, calc(8.72rem + 1.41vw), 10.13rem);
    --space-7xl:clamp(10rem, calc(9.69rem + 1.56vw), 11.25rem);
    --space-8xl:clamp(11rem, calc(10.66rem + 1.72vw), 12.38rem);
    /* One-up pairs */
    --space-2xs-xs:clamp(0.5rem, calc(0.41rem + 0.47vw), 0.88rem);
    --space-xs-s:clamp(0.75rem, calc(0.66rem + 0.47vw), 1.13rem);
    --space-s-m:clamp(1rem, calc(0.83rem + 0.86vw), 1.69rem);
    --space-m-l:clamp(1.5rem, calc(1.31rem + 0.94vw), 2.25rem);
    --space-l-xl:clamp(2rem, calc(1.66rem + 1.72vw), 3.38rem);
    --space-xl-2xl:clamp(3rem, calc(2.63rem + 1.88vw), 4.5rem);
    --space-2xl-3xl:clamp(4rem, calc(3.31rem + 3.44vw), 6.75rem);
    --space-3xl-4xl:clamp(6rem, calc(5.53rem + 2.34vw), 7.88rem);
    --space-4xl-5xl:clamp(7rem, calc(6.5rem + 2.5vw), 9rem);
    --space-5xl-6xl:clamp(8rem, calc(7.47rem + 2.66vw), 10.13rem);
    --space-6xl-7xl:clamp(9rem, calc(8.44rem + 2.81vw), 11.25rem);
    --space-7xl-8xl:clamp(10rem, calc(9.41rem + 2.97vw), 12.38rem);
    /* Custom pairs */
    --space-s-l:clamp(1rem, calc(0.69rem + 1.56vw), 2.25rem)
}
:root{
    --initial-vh:1vh;
    --actual-vh:1vh;
    --font-family-heading:"FKScreamer",-apple-system,blinkmacsystemfont,"Segoe UI",roboto,oxygen-sans,ubuntu,cantarell,"Helvetica Neue",sans-serif;
    --font-family-body:"SourceSansPro",-apple-system,blinkmacsystemfont,"Segoe UI",roboto,oxygen-sans,ubuntu,cantarell,"Helvetica Neue",sans-serif;
    --font-family-mono:"RobotoMono",-apple-system,blinkmacsystemfont,"Segoe UI",roboto,oxygen-sans,ubuntu,cantarell,"Helvetica Neue",sans-serif;
    --body-font-size:var(--step-0);
    --body-font-weight:400;
    --body-line-height:1.4;
    --heading-line-height:0.9;
    --stroke-width:2px;
    --body-color:var(--color-black);
    --logo-height:calc(var(--space-2xl) * 1);
    --logo-width:calc(120 / 81 * var(--logo-height));
    --color-placeholder:var(--color-gray-01);
    --column-width:calc((100vw - var(--container-padding) * 2 - var(--gutter) * 11) / 12);
    --column-width-gutter:calc(var(--column-width) + var(--gutter));
    --column-width-2-gutter:calc(var(--column-width) + var(--gutter) * 2);
    --padding-bg-image:var(--space-5xl) 0;
    --site-header-height:calc(var(--logo-height) + var(--container-padding) * 2);
    --banner-padding:8px;
    --banner-radius:10px;
    --container-padding:1rem;
    --gutter:1rem;
    --color-black:#1b1d1c;
    --color-white:#fff;
    --color-yellow:#ffe458;
    --color-gray-01:#e5e5dc;
    --color-gray-02:#cacac1;
    --color-gray-03:#898983;
    --color-gray-04:#4f4f48;
    --color-orange:#ffa858
}
@media (min-width: 768px){
    :root{
        --container-padding:3vw
    }
}
@media (min-width: 768px){
    :root{
        --gutter:1.25vw
    }
}
@media (min-width: 768px){
    :root{
        --logo-height:var(--space-2xl);
        --site-header-height:calc(var(--logo-height) + var(--container-padding) * 2)
    }
}
@media (min-width: 992px){
    :root{
        --padding-bg-image:40vh 0
    }
}
:root.theme-black{
    --color-placeholder:var(--color-gray-04)
}
:root .c-overlay{
    --color-placeholder:var(--color-gray-01) !important
}
*,*::before,*::after{
    box-sizing:border-box
}
*{
    margin:0;
    padding:0
}
body{
    color:var(--body-color, #000);
    font-family:var(--font-family-body);
    font-size:var(--body-font-size);
    -moz-osx-font-smoothing:grayscale;
    -webkit-font-smoothing:antialiased;
    line-height:var(--body-line-height);
    background-color:var(--body-color-background, #fff);
    -webkit-text-size-adjust:100%;
    -moz-text-size-adjust:100%;
    text-size-adjust:100%;
    -webkit-tap-highlight-color:transparent
}
img,picture,video,canvas,svg{
    display:block;
    width:100%;
    max-width:100%
}
article,aside,figure,footer,header,aside,main,nav{
    display:block
}
input,button,select,optgroup,textarea{
    color:var(--body-color);
    font-family:inherit;
    font-size:inherit;
    font-weight:inherit;
    line-height:inherit
}
ul[role=tablist],ol[role=tablist],ul[role=list],ol[role=list]{
    list-style:none
}
a{
    color:currentcolor;
    text-decoration:none;
    outline:none
}
a:hover{
    text-decoration:underline
}
button,[role=button]{
    margin:0;
    padding:0;
    color:inherit;
    font:inherit;
    background:none;
    border:none;
    box-shadow:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
    cursor:pointer
}
select{
    word-wrap:normal
}
select:disabled{
    opacity:1
}
textarea{
    resize:vertical
}
fieldset{
    min-width:0;
    border:0
}
p,h1,h2,h3,h4,h5,h6{
    overflow-wrap:break-word
}
svg{
    overflow:visible
}
iframe{
    border:none
}
dfn{
    font-style:normal
}
abbr{
    text-decoration:none
}
html{
    scroll-behavior:smooth
}
html.has-scroll-smooth{
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    left:0
}
html.has-scroll-smooth [data-scroll-speed]{
    will-change:transform
}
html.no-transition *{
    transition:none
}
html.is-transitioning *{
    pointer-events:none
}
html:not(.dom-loaded) *{
    transition:none !important
}
html.is-loading *,html.is-loading *::after,html.is-loading *::before{
    cursor:wait !important
}
html:not(.has-scroll-smooth, .body-scroll-locked){
    overflow-y:scroll;
    overscroll-behavior-y:none
}
html body{
    --body-color-background:var(--color-white);
    overscroll-behavior-y:none;
    transition:color 1s 0s,opacity 0s
}
html.is-transitioning body{
    transition:color 1s 1s
}
html.theme-black body{
    --body-color:var(--color-white)
}
html:not(.dom-loaded) body{
    opacity:0
}
a{
    -webkit-touch-callout:none;
    -webkit-user-select:none;
    -moz-user-select:none;
    user-select:none
}
a[href^="mailto:"]{
    -webkit-user-select:auto;
    -moz-user-select:auto;
    user-select:auto
}
[data-bg]{
    background-position:center;
    background-repeat:no-repeat;
    background-size:cover;
    opacity:0;
    transition:opacity 1s
}
[data-bg].lazyloaded{
    opacity:1
}
.c-titles__list-item,.c-site-header__menu-top a,.c-site-footer__title,.c-banner-hp__service-item,h1:not(.no-heading),h2:not(.no-heading),h3:not(.no-heading),h4:not(.no-heading),h5:not(.no-heading),h6:not(.no-heading){
    font-family:var(--font-family-heading);
    font-weight:700;
    line-height:var(--heading-line-height, calc(1.08em + 4px));
    text-transform:uppercase
}
.theme-black .c-titles__list-item,.theme-black .c-site-header__menu-top a,.c-site-header__menu-top .theme-black a,.theme-black .c-site-footer__title,.theme-black .c-banner-hp__service-item,.theme-black h1:not(.no-heading),.theme-black h2:not(.no-heading),.theme-black h3:not(.no-heading),.theme-black h4:not(.no-heading),.theme-black h5:not(.no-heading),.theme-black h6:not(.no-heading){
    color:var(--color-gray-01);
    transition:color 1s 0s
}
.c-overlay .c-titles__list-item,.c-overlay .c-site-header__menu-top a,.c-site-header__menu-top .c-overlay a,.c-overlay .c-site-footer__title,.c-overlay .c-banner-hp__service-item,.c-overlay h1:not(.no-heading),.c-overlay h2:not(.no-heading),.c-overlay h3:not(.no-heading),.c-overlay h4:not(.no-heading),.c-overlay h5:not(.no-heading),.c-overlay h6:not(.no-heading){
    color:var(--color-black) !important
}
.f-mono{
    font-family:var(--font-family-mono)
}
h1{
    font-size:var(--step-10)
}
h2{
    font-size:var(--step-7)
}
h3{
    font-size:var(--step-6)
}
h4{
    font-size:var(--step-5)
}
h5{
    font-size:var(--step-4)
}
h6{
    font-size:var(--step-3)
}
.theme-light,[data-theme=light]{
    --theme-color-bg:var(--color-white);
    --theme-color-text:var(--color-black)
}
.theme-dark,[data-theme=dark]{
    --theme-color-bg:var(--color-black);
    --theme-color-text:var(--color-white)
}
.o-button{
    -webkit-user-select:none;
    -moz-user-select:none;
    user-select:none;
    pointer-events:auto;
    display:block;
    padding:0.5em 0.84em;
    font-family:var(--font-family-mono);
    font-weight:700;
    line-height:0.9;
    text-transform:uppercase;
    background:var(--color-gray-01);
    border-radius:7px;
    transition:background 0.25s
}
@media (min-width: 768px){
    .o-button{
        padding:0.35em 0.6em
    }
}
.o-button:hover{
    cursor:pointer;
    background-color:var(--color-orange)
}
.o-button.o-button--js-hover:hover{
    cursor:unset;
    background:var(--color-gray-01)
}
.o-button-arrow{
    position:relative;
    display:inline-block;
    overflow:hidden;
    margin-left:var(--space-s);
    padding:calc(var(--space-xs) * 0.75) calc(var(--space-2xs) * 0.8);
    color:var(--color-black);
    font-size:0;
    line-height:0;
    background:var(--color-gray-01);
    border-radius:7px;
    transition:transform 1s cubic-bezier(0.23, 1, 0.32, 1);
    transform-origin:0 50%
}
.c-site-footer__title .o-button-arrow{
    transform-origin:0 100%
}
.o-button-arrow .o-icon{
    --left:calc(var(--step-0) + var(--space-xs) * 0.75 - 7px);
    --top:calc(var(--step-0) + var(--space-2xs) * 0.8);
    position:relative;
    z-index:2;
    display:block
}
.o-button-arrow .o-icon:last-child{
    transition:transform 0.75s cubic-bezier(0.23, 1, 0.32, 1),opacity 0.25s 0.15s
}
a.link-active .o-button-arrow .o-icon:last-child{
    opacity:0;
    transition:transform 0.75s cubic-bezier(0.755, 0.05, 0.855, 0.06),opacity 0.25s;
    transform:translate(var(--left), calc(var(--top) * -1))
}
@media (hover: hover){
    a:hover .o-button-arrow .o-icon:last-child{
        opacity:0;
        transition:transform 0.75s cubic-bezier(0.755, 0.05, 0.855, 0.06),opacity 0.25s;
        transform:translate(var(--left), calc(var(--top) * -1))
    }
}
.o-button-arrow .o-icon:first-child{
    position:absolute;
    opacity:0;
    transition:transform 0.75s cubic-bezier(0.755, 0.05, 0.855, 0.06),opacity 0.25s;
    transform:translate(calc(var(--left) * -1), var(--top))
}
a.link-active .o-button-arrow .o-icon:first-child{
    opacity:1;
    transition:transform 0.75s cubic-bezier(0.23, 1, 0.32, 1),opacity 0.25s 0.15s;
    transform:translate(0, 0)
}
@media (hover: hover){
    a:hover .o-button-arrow .o-icon:first-child{
        opacity:1;
        transition:transform 0.75s cubic-bezier(0.23, 1, 0.32, 1),opacity 0.25s 0.15s;
        transform:translate(0, 0)
    }
}
.o-button-arrow::before,.o-button-arrow::after{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    z-index:1;
    pointer-events:none;
    content:"";
    transform:rotate(0deg) scale(2.4, 1.2) translate(15%, 90%);
    transform-origin:100% 0;
    transition:transform 0.75s cubic-bezier(0.23, 1, 0.32, 1)
}
a.link-active .o-button-arrow::before,a.link-active .o-button-arrow::after{
    transform:rotate(20deg) scale(2.4, 1.25) translate(15%, 5%)
}
@media (hover: hover){
    a:hover .o-button-arrow::before,a:hover .o-button-arrow::after{
        transform:rotate(20deg) scale(2.4, 1.25) translate(15%, 5%)
    }
}
.o-button-arrow::before{
    background:var(--color-white);
    transition-delay:0.1s
}
a.link-active .o-button-arrow::before{
    transition-delay:0s
}
@media (hover: hover){
    a:hover .o-button-arrow::before{
        transition-delay:0s
    }
}
.o-button-arrow::after{
    background:var(--color-orange);
    transition-delay:0s
}
a.link-active .o-button-arrow::after{
    transition-delay:0.1s
}
@media (hover: hover){
    a:hover .o-button-arrow::after{
        transition-delay:0.1s
    }
}
a.link-active .o-button-arrow{
    transform:scale(1.2)
}
@media (hover: hover){
    a:hover .o-button-arrow{
        transform:scale(1.2)
    }
}
.o-container{
    width:100%;
    max-width:var(--grid-max-width);
    margin-right:auto;
    margin-left:auto;
    padding-right:var(--container-padding);
    padding-left:var(--container-padding)
}
.o-cta{
    -webkit-user-select:none;
    -moz-user-select:none;
    user-select:none;
    display:inline-flex;
    align-items:center;
    font-family:var(--font-family-mono);
    font-weight:700;
    line-height:1;
    text-transform:uppercase
}
.o-cta:hover{
    text-decoration:none
}
.o-cta__text-wrapper{
    display:flex;
    flex-direction:column;
    overflow:hidden;
    height:1em
}
.o-cta__text-wrapper span{
    display:block;
    transition:transform 1s cubic-bezier(0.23, 1, 0.32, 1);
    transform:translate3d(0, 0, 0);
    transform-origin:100% 50%
}
.o-cta__text-wrapper span:last-child{
    transform:translate(0, 0) rotate(-7deg)
}
a.link-active .o-cta__text-wrapper span:first-child{
    transform:translateY(-100%) rotate(7deg)
}
a.link-active .o-cta__text-wrapper span:last-child{
    transform:translateY(-100%)
}
@media (hover: hover){
    a:hover .o-cta__text-wrapper span:first-child{
        transform:translateY(-100%) rotate(7deg)
    }
    a.link-active .o-cta__text-wrapper span:last-child,a:hover .o-cta__text-wrapper span:last-child{
        transform:translateY(-100%)
    }
}
.o-email{
    overflow:hidden
}
@media (hover: hover){
    .o-email{
        --height:calc(var(--body-line-height) * 1em);
        display:inline-block;
        height:var(--height)
    }
    .o-email span{
        pointer-events:none;
        display:block;
        transition:transform 0.75s cubic-bezier(0.23, 1, 0.32, 1)
    }
    .o-email span::after{
        display:block;
        content:"Email copied :)"
    }
    .o-email.clicked{
        pointer-events:none
    }
    .o-email.clicked span{
        transform:translateY(calc(-1 * var(--height)))
    }
}
.o-figure{
    position:relative;
    overflow:hidden;
    width:100%;
    height:0;
    padding-bottom:calc(var(--height, 3) / var(--width, 4) * 100%);
    will-change:transform
}
.o-figure video{
    position:absolute;
    top:0;
    right:0;
    width:100%;
    height:100%;
    -o-object-fit:cover;
    object-fit:cover
}
.o-figure__image{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    background:center/cover no-repeat;
    opacity:0.001;
    transition:opacity 2s
}
.video-loaded + .o-figure__image{
    opacity:0 !important
}
.is-inview .o-figure__image.lazyloaded{
    opacity:1
}
.o-figure__image.is-inview.lazyloaded{
    opacity:1
}
img{
    opacity:0.001;
    transition:opacity 2s
}
img.lazyloaded{
    opacity:1
}
.o-grid{
    display:grid;
    grid-template-rows:repeat(var(--rows, 1), 1fr);
    grid-template-columns:repeat(var(--columns, 12), 1fr);
    gap:var(--gutter-y, var(--gutter)) var(--gutter-x, var(--gutter))
}
.o-grid > *{
    grid-column:auto/span var(--column-span, 12);
    grid-column-start:var(--column-start, auto)
}
.o-col-1{
    --column-span:1
}
.o-col-6{
    --column-span:6
}
.o-hover-roll{
    display:flex;
    flex-direction:column;
    overflow:hidden;
    height:calc(1em * var(--body-line-height))
}
.o-hover-roll span{
    display:block;
    transition:transform 0.75s cubic-bezier(0.23, 1, 0.32, 1);
    transform:translate3d(0, 0, 0);
    transform-origin:100% 50%
}
.o-hover-roll span:last-child{
    transform:translate(0, 0) rotate(-7deg)
}
@media (hover: hover){
    a.link-active .o-hover-roll span:first-child,.o-hover-roll:hover span:first-child{
        transform:translateY(-100%) rotate(7deg)
    }
    a.link-active .o-hover-roll span:last-child,.o-hover-roll:hover span:last-child{
        transform:translateY(-100%)
    }
}
.o-hover-underline:not(.has-split-text){
    position:relative;
    display:inline-block
}
.o-hover-underline:not(.has-split-text)::before{
    position:absolute;
    z-index:-1;
    bottom:0.2em;
    left:0;
    width:100%;
    height:1px;
    background:currentcolor;
    transition:transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    content:"";
    transform:scaleX(0);
    transform-origin:100% 50%;
    will-change:transform
}
@media (hover: hover){
    .o-hover-underline:not(.has-split-text):hover::before{
        transform:scaleX(1);
        transform-origin:0 50%
    }
}
.o-hover-underline .o-text-reveal__wrapper{
    position:relative;
    display:inline-block;
    align-self:flex-start
}
.o-hover-underline .o-text-reveal__wrapper::before{
    position:absolute;
    z-index:-1;
    bottom:0.2em;
    left:0;
    width:100%;
    height:1px;
    background:currentcolor;
    transition:transform 0.5s calc(var(--index) * 0.1s) cubic-bezier(0.23, 1, 0.32, 1);
    content:"";
    transform:scaleX(0);
    transform-origin:100% 50%;
    will-change:transform
}
@media (hover: hover){
    .o-hover-underline:hover .o-text-reveal__wrapper::before{
        transform:scaleX(1);
        transform-origin:0 50%
    }
}
.o-icon{
    display:inline-block;
    width:var(--step-0);
    height:var(--step-0);
    stroke-width:var(--stroke-width);
    stroke:currentcolor;
    fill:none
}
.o-icon--linkedin,.o-icon--vimeo,.o-icon--instagram{
    width:calc(var(--step-0) + 2px);
    height:calc(var(--step-0) + 2px);
    fill:currentcolor;
    stroke:none
}
.o-icon--logo-condensed{
    width:49px;
    height:36px;
    fill:currentcolor;
    stroke:none
}
.o-icon__svg{
    width:100%;
    height:100%
}
.o-reveal-childs > *,.o-reveal{
    transform:translateY(var(--reveal-y, var(--space-l)));
    opacity:0.001;
    transition:transform 1.5s cubic-bezier(0.165, 0.84, 0.44, 1),opacity 1.5s;
    transition-delay:calc(var(--index-delay, 0.075s) * var(--index, 0) + var(--stagger-delay, 0.25s) * var(--stagger, 0));
    will-change:opacity,transform
}
.dom-loaded .is-inview.o-reveal-childs > *,.dom-loaded .is-inview .o-reveal-childs > *,.dom-loaded .is-inview.o-reveal,.dom-loaded .is-inview .o-reveal{
    transform:none;
    opacity:1
}
.o-reveal-childs > *:nth-child(n+10){
    --stagger:10
}
.o-reveal-childs > *:nth-child(4){
    --stagger:4
}
.o-reveal-childs > *:nth-child(5){
    --stagger:5
}
.o-reveal-childs > *:nth-child(6){
    --stagger:6
}
.o-reveal-childs > *:nth-child(7){
    --stagger:7
}
.o-reveal-childs > *:nth-child(8){
    --stagger:8
}
.o-reveal-childs > *:nth-child(9){
    --stagger:9
}
.o-reveal-childs > *:nth-child(10){
    --stagger:10
}
.o-tag-list{
    display:flex
}
.o-tag-list > *{
    display:flex;
    align-items:center
}
.o-tag-list > *:not(:first-child){
    position:relative;
    margin-left:calc(5px + 1rem)
}
.o-tag-list > *:not(:first-child)::after{
    position:absolute;
    pointer-events:none;
    top:50%;
    left:calc(-0.5rem - 5px);
    display:block;
    width:5px;
    height:5px;
    background:currentcolor;
    border-radius:50%;
    transform:translateY(-50%);
    content:""
}
.o-text-reveal{
    --speed:1s
}
.o-text-reveal:not(.has-split-text){
    visibility:hidden
}
.o-text-reveal__wrapper{
    overflow:hidden
}
.o-text-reveal__item{
    will-change:transform;
    transition:transform var(--speed) cubic-bezier(0.23, 1, 0.32, 1) calc(var(--index, 0) * 0.15s);
    transform:translateY(110%)
}
.dom-loaded .is-inview .o-text-reveal__item{
    transform:translateY(0%)
}
.o-video{
    position:absolute;
    top:0;
    right:0;
    width:100%;
    height:100%;
    -o-object-fit:cover;
    object-fit:cover
}
html.has-scroll-smooth{
    overflow:hidden
}
html.has-scroll-dragging{
    -webkit-user-select:none;
    -moz-user-select:none;
    user-select:none
}
.has-scroll-smooth body{
    overflow:hidden
}
.has-scroll-smooth [data-scroll-container]{
    min-height:100vh
}
[data-scroll-direction=horizontal] [data-scroll-container]{
    height:100vh;
    display:inline-block;
    white-space:nowrap
}
[data-scroll-direction=horizontal] [data-scroll-section]{
    display:inline-block;
    vertical-align:top;
    white-space:nowrap;
    height:100%
}
.c-scrollbar{
    position:absolute;
    right:0;
    top:0;
    width:11px;
    height:100%;
    transform-origin:center right;
    transition:transform 0.3s,opacity 0.3s;
    opacity:0
}
.c-scrollbar:hover{
    transform:scaleX(1.45)
}
.c-scrollbar:hover,.has-scroll-scrolling .c-scrollbar,.has-scroll-dragging .c-scrollbar{
    opacity:1
}
[data-scroll-direction=horizontal] .c-scrollbar{
    width:100%;
    height:10px;
    top:auto;
    bottom:0;
    transform:scaleY(1)
}
[data-scroll-direction=horizontal] .c-scrollbar:hover{
    transform:scaleY(1.3)
}
.c-scrollbar_thumb{
    position:absolute;
    top:0;
    right:0;
    background-color:black;
    opacity:0.5;
    width:7px;
    border-radius:10px;
    margin:2px;
    cursor:grab
}
.has-scroll-dragging .c-scrollbar_thumb{
    cursor:grabbing
}
[data-scroll-direction=horizontal] .c-scrollbar_thumb{
    right:auto;
    bottom:0
}
.c-scrollbar{
    opacity:0;
    transition:opacity 1s 1s,transform 0.3s 0s
}
@media (max-width: 991.98px){
    .c-scrollbar{
        pointer-events:none
    }
}
.intro-complete .c-scrollbar{
    opacity:1
}
.is-transitioning .c-scrollbar{
    opacity:0;
    transition-delay:0s
}
.c-overlay .c-scrollbar{
    opacity:0
}
.c-scrollbar_thumb{
    width:calc(var(--banner-padding) / 2);
    margin:0;
    background:var(--color-orange);
    border-radius:0;
    opacity:1
}
/*! Flickity v3.0.0 https://flickity.metafizzy.co ---------------------------------------------- */
.flickity-enabled{
    position:relative
}
.flickity-enabled:focus{
    outline:none
}
.flickity-viewport{
    overflow:hidden;
    position:relative;
    height:100%;
    touch-action:pan-y
}
.flickity-slider{
    position:absolute;
    width:100%;
    height:100%;
    left:0
}
.flickity-rtl .flickity-slider{
    left:unset;
    right:0
}
/* draggable */
.flickity-enabled.is-draggable{
    -webkit-tap-highlight-color:transparent;
    -webkit-user-select:none;
    -moz-user-select:none;
    user-select:none
}
.flickity-enabled.is-draggable .flickity-viewport{
    cursor:move;
    cursor:grab
}
.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down{
    cursor:grabbing
}
/* ---- flickity-cell ---- */
.flickity-cell{
    position:absolute;
    left:0
}
.flickity-rtl .flickity-cell{
    left:unset;
    right:0
}
/* ---- flickity-button ---- */
.flickity-button{
    position:absolute;
    background:hsl(0 0% 100%/75%);
    border:none;
    color:#333
}
.flickity-button:hover{
    background:white;
    cursor:pointer
}
.flickity-button:focus{
    outline:none;
    box-shadow:0 0 0 5px #19F
}
.flickity-button:active{
    opacity:0.6
}
.flickity-button:disabled{
    opacity:0.3;
    cursor:auto;
    /* prevent disabled button from capturing pointer up event. #716 */
    pointer-events:none
}
.flickity-button-icon{
    fill:currentColor
}
/* ---- previous/next buttons ---- */
.flickity-prev-next-button{
    top:50%;
    width:44px;
    height:44px;
    border-radius:50%;
    /* vertically center */
    transform:translateY(-50%)
}
.flickity-prev-next-button.previous{
    left:10px
}
.flickity-prev-next-button.next{
    right:10px
}
/* right to left */
.flickity-rtl .flickity-prev-next-button.previous{
    left:auto;
    right:10px
}
.flickity-rtl .flickity-prev-next-button.next{
    right:auto;
    left:10px
}
.flickity-prev-next-button .flickity-button-icon{
    position:absolute;
    left:20%;
    top:20%;
    width:60%;
    height:60%
}
/* ---- page dots ---- */
.flickity-page-dots{
    position:absolute;
    width:100%;
    bottom:-25px;
    text-align:center;
    display:flex;
    justify-content:center;
    flex-wrap:wrap
}
.flickity-rtl .flickity-page-dots{
    direction:rtl
}
.flickity-page-dot{
    display:block;
    width:10px;
    height:10px;
    padding:0;
    margin:0 8px;
    background:hsl(0 0% 20%/25%);
    border-radius:50%;
    cursor:pointer;
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
    border:none;
    text-indent:-9999px;
    overflow:hidden
}
.flickity-rtl .flickity-page-dot{
    text-indent:9999px
}
.flickity-page-dot:focus{
    outline:none;
    box-shadow:0 0 0 5px #19F
}
.flickity-page-dot.is-selected{
    background:hsl(0 0% 20%/100%)
}
/* stylelint-disable scss/at-extend-no-missing-placeholder */
.vjs-modal-dialog .vjs-modal-dialog-content,.video-js .vjs-modal-dialog,.vjs-button > .vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%
}
.vjs-button > .vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{
    text-align:center
}
@font-face{
    font-family:VideoJS;
    src:url(data:application/font-woff;
    charset=utf-8;
    base64,d09GRgABAAAAABDkAAsAAAAAG6gAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAAPgAAAFZRiV3hY21hcAAAAYQAAADaAAADPv749/pnbHlmAAACYAAAC3AAABHQZg6OcWhlYWQAAA3QAAAAKwAAADYZw251aGhlYQAADfwAAAAdAAAAJA+RCLFobXR4AAAOHAAAABMAAACM744AAGxvY2EAAA4wAAAASAAAAEhF6kqubWF4cAAADngAAAAfAAAAIAE0AIFuYW1lAAAOmAAAASUAAAIK1cf1oHBvc3QAAA/AAAABJAAAAdPExYuNeJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGS7wTiBgZWBgaWQ5RkDA8MvCM0cwxDOeI6BgYmBlZkBKwhIc01hcPjI+FGJHcRdyA4RZgQRADK3CxEAAHic7dFZbsMgAEXRS0ycyZnnOeG7y+qC8pU1dHusIOXxuoxaOlwZYWQB0Aea4quIEN4E9LzKbKjzDeM6H/mua6Lmc/p8yhg0lvdYx15ZG8uOLQOGjMp3EzqmzJizYMmKNRu27Nhz4MiJMxeu3Ljz4Ekqm7T8P52G8PP3lnTOVk++Z6iN6QZzNN1F7ptuN7eGOjDUoaGODHVsuvU8MdTO9Hd5aqgzQ50b6sJQl4a6MtS1oW4MdWuoO0PdG+rBUI+GejLUs6FeDPVqqDdDvRvqw1CfhpqM9At0iFLaAAB4nJ1YDXBTVRZ+5/22TUlJ8we0pHlJm7RJf5O8F2j6EymlSPkpxaL8U2xpa3DKj0CBhc2IW4eWKSokIoLsuMqssM64f+jA4HSdWXXXscBq67IOs3FXZ1ZYWVyRFdo899yXtIBQZ90k7717zz3v3HPPOfd854YCCj9cL9dL0RQFOqCbGJnrHb5EayiKIWN8iA/hWBblo6hUWm8TtCDwE80WMJus/irwyxOdxeB0MDb14VNJHnXYoLLSl6FfCUYO9nYPTA8Epg9090LprfbBbZ2hY0UlJUXHQp3/vtWkS6EBv8+rPMq5u9692f/dNxJNiqwC1xPE9TCUgCsSdQWgE3XQD25lkG4CN2xmTcOXWBOyser6RN6KnGbKSbmQ3+d0OI1m2W8QzLLkI2sykrWAgJJEtA8vGGW/2Q+CmT3n8zS9wZwu2DCvtuZKZN3xkrLh36yCZuUomQSqGpY8t/25VfHVhw8z4ebGBtfLb0ya9PCaDc+8dGTvk2dsh6z7WzvowlXKUSWo9MJ15a3KrEP2loOr2Ojhw6iW6hf2BDdEccQvZGpaAy7YovSwq8kr7HGllxpd71rkS6G0Sf11sl9OvMK1+jwPPODxjUwkOim9CU3ix1wNjXDfmJSEn618Bs6lpWwUpU+8PCqLMY650zjq8VhCIP17NEKTx3eaLL+s5Pi6yJWaWjTHLR1jYzPSV9VF/6Ojdb/1kO3Mk3uhHC0x6gc1BjlKQ+nQFxTYdaJkZ7ySVxLBbhR1dsboNXp1tCYKW2LRaEzpYcIx2BKNxaL0ZaUnSqfFoiNhHKR/GkX6PWUSAaJelQaqZL1EpoHNsajSEyPSoJ9IjhIxTdjHLmwZvhRDOiFTY/YeQnvrVZmiTQtGncECXtFTBZLOVwwMRgoXHAkXzMzPn1nAJJ8jYSbMDaqN2waGLzNhih/bZynUBMpIWSg7VYi7DRx2m8ALkIdRCJwI6ArJx2EI8kaDWeTQKeAFk9fjl/1AvwktjQ1P7NjyMGQyfd4vjipX6M/i52D7Cq80kqlcxEcGXRr/FEcgs0u5uGgB4VWuMFfpdn2Re6Hi3PqzmxWKsz6+ae2Pn9hXXw/fqM859UiGC0oKYYILJBqJrsn1Z1E5qOs9rQCiUQRREjm8yJcbHF5cUJufX1vAHlefw0XgUoboS3ETfQlTxBC4SOtuE8VPRJTBSCQSjZCpk7Gqzu+masaZ2y7Zjehho4F3g82BNDkAHpORG4+OCS+f6JTPmtRn/PH1kch6d04sp7AQb25aQ/pqUyXeQ8vrebG8OYQdXOQ+585u0sdW9rqalzRURiJ+9F4MweRFrKUjl1GUYhH1A27WOHw5cTFSFPMo9EeUIGnQTZHIaJ7AHLaOKsOODaNF9jkBjYG2QEsQ2xjMUAx2bBEbeTBWMHwskBjngq56S/yfgkBnWBa4K9sqKtq2t1UI8S9He5XuBRbawAdatrQEAi30Aks2+LM8WeCbalVZkWNylvJ+dqJnzVb+OHlSoKW8nPCP7Rd+CcZ2DdWAGqJ2CBFOphgywFFCFBNtfAbGtNPBCwxvygHeYMZMY9ZboBqwq/pVrsbgN5tkv152ODlbMfiqwGMBgxa4Exz3QhovRIUp6acqZmQzRq0ypDXS2TPLT02YIkQETnOE445oOGxOmXAqUJNNG7XgupMjPq2ua9asrj5yY/yuKteO1Kx0YNJTufrirLe1mZnat7OL6rnUdCWenpW6I8mAnbsY8KWs1PuSovCW9A/Z25PQ24a7cNOqgmTkLmBMgh4THgc4b9k2IVv1/g/F5nGljwPLfOgHAzJzh45V/4+WenTzmMtR5Z7us2Tys909UHqrPY7KbckoxRvRHhmVc3cJGE97uml0R1S0jdULVl7EvZtDFVBF35N9cEdjpgmAiOlFZ+Dtoh93+D3zzHr8RRNZQhnCNMNbcegOvpEwZoL+06cJQ07h+th3fZ/7PVbVC6ngTAV/KoLFuO6+2KFcU651gEb5ugPSIb1D+Xp8V4+k3sEIGnw5mYe4If4k1lFYr6SCzmM2EQ8iWtmwjnBI9kTwe1TlfAmXh7H02by9fW2gsjKwtv0aaURKil4OdV7rDL1MXIFNrhdxohcZXYTnq47WisrKitaObbf5+yvkLi5J6lCNZZ+B6GC38VNBZBDidSS/+mSvh6s+srgC8pyKMvDtt+de3c9fU76ZPfuM8ud4Kv0fyP/LqfepMT/3oZxSqpZaTa1DaQYLY8TFsHYbWYsPoRhRWfL5eSSQbhUGgGC3YLbVMk6PitTFNGpAsNrC6D1VNBKgBHMejaiuRWEWGgsSDBTJjqWIl8kJLlsaLJ2tXDr6xGfT85bM2Q06a46x2HTgvdnV8z5YDy/27J4zt6x2VtkzjoYpkq36kaBr4eQSg7tyiVweWubXZugtadl58ydapfbORfKsDTuZ0OBgx4cfdjCf5tbWNITnL120fdOi1RV1C3uKGzNdwYLcMvZ3BxoPyTOCD1XvXTp7U10gWCVmTV9b3r2z0SkGWovb2hp9I89O8a2smlyaO8muMU+dRmtzp60IzAoFpjLr1n388boLyf0dRvxhsHZ0qbWqDkwqvvpkj4l0fY6EIXRi5sQSrAvsVYwXRy4qJ2EVtD1AN7a0HWth9ymvL1xc3WTUKK/TAHA/bXDVtVWfOMfuGxGZv4Ln/jVr9jc3j1yMv0tndmyt9Vq88Y9gH1wtLX3KWjot5++jWHgAoZZkQ14wGQ20Fli71UmKJAy4xKMSTGbVdybW7FDDAut9XpD5AzWrYO7zQ8qffqF8+Ynd/clrHcdyxGy3a/3+mfNnzC/cBsveTjnTvXf1o6vzOlZw7WtqtdmPK/Errz/6NNtD72zmNOZfbmYdTGHfoofqI79Oc+R2n1lrnL6pOm0Up7kwxhTW12Amm7WYkXR2qYrF2AmgmbAsxZjwy1xpg/m1Je2vrp8v/nz2xpmlBg4E9hrMU341wVpTOh/OfmGvAnra8q6uctr60ZQHV3Q+WMQJykMj8ZsWn2QBOmmHMB+m5pDIpTFonYigiaKAhGEiAHF7EliVnQkjoLVIMPtJpBKHYd3A8GYH9jJzrWwmHx5Qjp7vDAX0suGRym1vtm/9W1/HyR8vczfMs6Sk8DSv855/5dlX9oQq52hT8syyp2rx5Id17IAyAM3wIjQPMOHzytEB64q6D5zT91yNbnx3V/nqnd017S9Y0605k3izoXLpsxde2n38yoOV9s1LcjwzNjbdX6asnBVaBj/6/DwKwPkpcqbDG7BnsXoSqWnUAmottYF6jMSdVyYZh3zVXCjwTiwwHH6sGuRiEHQGzuRX6whZkp123oy1BWE2mEfJ/tvIRtM4ZM5bDXiMsPMaAKOTyc5uL57rqyyc5y5JE5pm1i2S2iUX0CcaQ6lC6Zog7JqSqZmYlosl2K6pwNA84zRnQW6SaALYZQGW5lhCtU/W34N6o+bKfZ8cf3/Cl/+iTX3wBzpOY4mRkeNf3rptycGSshQWgGbYt5jFc2e0+DglIrwl6DVWQ7BuwaJ3Xk1J4VL5urnLl/Wf+gHU/hZoZdKNym6lG+I34FaNeZKcSpJIo2IeCVvpdsDGfKvzJnAwmeD37Ow65ZWwSowpgwX5T69s/rB55dP5BcpgDKFV8p7q2sn/1uc93bVzT/w6UrCqDTWvfCq/oCD/qZXNoUj8BL5Kp6GU017frfNXkAtiiyf/SOCEeLqnd8R/Ql9GlCRfctS6k5chvIBuQ1zCCjoCHL2DHNHIXxMJ3kQeO8lbsUXONeSfA5EjcG6/E+KdhN4bP04vBhdi883+BFBzQbxFbvZzQeY9LNBZc0FNfn5NwfDn6rCTnTw6R8o+gfpf5hCom33cRuiTlss3KHmZjD+BPN+5gXuA2ziS/Q73mLxUkpbKN/eqwz5uK0X9F3h2d1V4nGNgZGBgAOJd776+iue3+crAzc4AAje5Bfcg0xz9YHEOBiYQBQA8FQlFAHicY2BkYGBnAAGOPgaG//85+hkYGVCBMgBGGwNYAAAAeJxjYGBgYB8EmKOPgQEAQ04BfgAAAAAAAA4AaAB+AMwA4AECAUIBbAGYAcICGAJYArQC4AMwA7AD3gQwBJYE3AUkBWYFigYgBmYGtAbqB1gIEghYCG4IhAi2COh4nGNgZGBgUGYoZWBnAAEmIOYCQgaG/2A+AwAYCQG2AHicXZBNaoNAGIZfE5PQCKFQ2lUps2oXBfOzzAESyDKBQJdGR2NQR3QSSE/QE/QEPUUPUHqsvsrXjTMw83zPvPMNCuAWP3DQDAejdm1GjzwS7pMmwi75XngAD4/CQ/oX4TFe4Qt7uMMbOzjuDc0EmXCP/C7cJ38Iu+RP4QEe8CU8pP8WHmOPX2EPz87TPo202ey2OjlnQSXV/6arOjWFmvszMWtd6CqwOlKHq6ovycLaWMWVydXKFFZnmVFlZU46tP7R2nI5ncbi/dDkfDtFBA2DDXbYkhKc+V0Bqs5Zt9JM1HQGBRTm/EezTmZNKtpcAMs9Yu6AK9caF76zoLWIWcfMGOSkVduvSWechqZsz040Ib2PY3urxBJTzriT95lipz+TN1fmAAAAeJxtkMl2wjAMRfOAhABlKm2h80C3+ajgCKKDY6cegP59TYBzukAL+z1Zsq8ctaJTTKPrsUQLbXQQI0EXKXroY4AbDDHCGBNMcYsZ7nCPB8yxwCOe8IwXvOIN7/jAJ76wxHfUqWX+OzgumWAjJMV17i0Ndlr6irLKO+qftdT7i6y4uFSUvCknay+lFYZIZaQcmfH/xIFdYn98bqhra1aKTM/6lWMnyaYirx1rFUQZFBkb2zJUtoXeJCeg0WnLtHeSFc3OtrnozNwqi0TkSpBMDB1nSde5oJXW23hTS2/T0LilglXX7dmFVxLnq5U0vYATHFk3zX3BOisoQHNDFDeZnqKDy9hRNawN7Vh727hFzcJ5c8TILrKZfH7tIPxAFP0BpLeJPA==) format("woff");
    font-weight:normal;
    font-style:normal
}
.vjs-icon-play,.video-js .vjs-play-control .vjs-icon-placeholder,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-play:before,.video-js .vjs-play-control .vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{
    content:"\f101"
}
.vjs-icon-play-circle{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-play-circle:before{
    content:"\f102"
}
.vjs-icon-pause,.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-pause:before,.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before{
    content:"\f103"
}
.vjs-icon-volume-mute,.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-volume-mute:before,.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before{
    content:"\f104"
}
.vjs-icon-volume-low,.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-volume-low:before,.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before{
    content:"\f105"
}
.vjs-icon-volume-mid,.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-volume-mid:before,.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before{
    content:"\f106"
}
.vjs-icon-volume-high,.video-js .vjs-mute-control .vjs-icon-placeholder{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-volume-high:before,.video-js .vjs-mute-control .vjs-icon-placeholder:before{
    content:"\f107"
}
.vjs-icon-fullscreen-enter,.video-js .vjs-fullscreen-control .vjs-icon-placeholder{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-fullscreen-enter:before,.video-js .vjs-fullscreen-control .vjs-icon-placeholder:before{
    content:"\f108"
}
.vjs-icon-fullscreen-exit,.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-fullscreen-exit:before,.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before{
    content:"\f109"
}
.vjs-icon-square{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-square:before{
    content:"\f10a"
}
.vjs-icon-spinner{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-spinner:before{
    content:"\f10b"
}
.vjs-icon-subtitles,.video-js .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-subtitles-button .vjs-icon-placeholder{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-subtitles:before,.video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-subtitles-button .vjs-icon-placeholder:before{
    content:"\f10c"
}
.vjs-icon-captions,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-captions-button .vjs-icon-placeholder{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-captions:before,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-captions-button .vjs-icon-placeholder:before{
    content:"\f10d"
}
.vjs-icon-chapters,.video-js .vjs-chapters-button .vjs-icon-placeholder{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-chapters:before,.video-js .vjs-chapters-button .vjs-icon-placeholder:before{
    content:"\f10e"
}
.vjs-icon-share{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-share:before{
    content:"\f10f"
}
.vjs-icon-cog{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-cog:before{
    content:"\f110"
}
.vjs-icon-circle,.vjs-seek-to-live-control .vjs-icon-placeholder,.video-js .vjs-volume-level,.video-js .vjs-play-progress{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-circle:before,.vjs-seek-to-live-control .vjs-icon-placeholder:before,.video-js .vjs-volume-level:before,.video-js .vjs-play-progress:before{
    content:"\f111"
}
.vjs-icon-circle-outline{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-circle-outline:before{
    content:"\f112"
}
.vjs-icon-circle-inner-circle{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-circle-inner-circle:before{
    content:"\f113"
}
.vjs-icon-hd{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-hd:before{
    content:"\f114"
}
.vjs-icon-cancel,.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-cancel:before,.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before{
    content:"\f115"
}
.vjs-icon-replay,.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-replay:before,.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before{
    content:"\f116"
}
.vjs-icon-facebook{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-facebook:before{
    content:"\f117"
}
.vjs-icon-gplus{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-gplus:before{
    content:"\f118"
}
.vjs-icon-linkedin{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-linkedin:before{
    content:"\f119"
}
.vjs-icon-twitter{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-twitter:before{
    content:"\f11a"
}
.vjs-icon-tumblr{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-tumblr:before{
    content:"\f11b"
}
.vjs-icon-pinterest{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-pinterest:before{
    content:"\f11c"
}
.vjs-icon-audio-description,.video-js .vjs-descriptions-button .vjs-icon-placeholder{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-audio-description:before,.video-js .vjs-descriptions-button .vjs-icon-placeholder:before{
    content:"\f11d"
}
.vjs-icon-audio,.video-js .vjs-audio-button .vjs-icon-placeholder{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-audio:before,.video-js .vjs-audio-button .vjs-icon-placeholder:before{
    content:"\f11e"
}
.vjs-icon-next-item{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-next-item:before{
    content:"\f11f"
}
.vjs-icon-previous-item{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-previous-item:before{
    content:"\f120"
}
.vjs-icon-picture-in-picture-enter,.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-picture-in-picture-enter:before,.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder:before{
    content:"\f121"
}
.vjs-icon-picture-in-picture-exit,.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder{
    font-family:VideoJS;
    font-weight:normal;
    font-style:normal
}
.vjs-icon-picture-in-picture-exit:before,.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder:before{
    content:"\f122"
}
.video-js{
    display:block;
    vertical-align:top;
    box-sizing:border-box;
    color:#fff;
    background-color:#000;
    position:relative;
    padding:0;
    font-size:10px;
    line-height:1;
    font-weight:normal;
    font-style:normal;
    font-family:Arial,Helvetica,sans-serif;
    word-break:initial
}
.video-js:-moz-full-screen{
    position:absolute
}
.video-js:-webkit-full-screen{
    width:100% !important;
    height:100% !important
}
.video-js[tabindex="-1"]{
    outline:none
}
.video-js *,.video-js *:before,.video-js *:after{
    box-sizing:inherit
}
.video-js ul{
    font-family:inherit;
    font-size:inherit;
    line-height:inherit;
    list-style-position:outside;
    margin-left:0;
    margin-right:0;
    margin-top:0;
    margin-bottom:0
}
.video-js.vjs-fluid,.video-js.vjs-16-9,.video-js.vjs-4-3,.video-js.vjs-9-16,.video-js.vjs-1-1{
    width:100%;
    max-width:100%
}
.video-js.vjs-fluid:not(.vjs-audio-only-mode),.video-js.vjs-16-9:not(.vjs-audio-only-mode),.video-js.vjs-4-3:not(.vjs-audio-only-mode),.video-js.vjs-9-16:not(.vjs-audio-only-mode),.video-js.vjs-1-1:not(.vjs-audio-only-mode){
    height:0
}
.video-js.vjs-16-9:not(.vjs-audio-only-mode){
    padding-top:56.25%
}
.video-js.vjs-4-3:not(.vjs-audio-only-mode){
    padding-top:75%
}
.video-js.vjs-9-16:not(.vjs-audio-only-mode){
    padding-top:177.7777777778%
}
.video-js.vjs-1-1:not(.vjs-audio-only-mode){
    padding-top:100%
}
.video-js.vjs-fill:not(.vjs-audio-only-mode){
    width:100%;
    height:100%
}
.video-js .vjs-tech{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%
}
.video-js.vjs-audio-only-mode .vjs-tech{
    display:none
}
body.vjs-full-window{
    padding:0;
    margin:0;
    height:100%
}
.vjs-full-window .video-js.vjs-fullscreen{
    position:fixed;
    overflow:hidden;
    z-index:1000;
    left:0;
    top:0;
    bottom:0;
    right:0
}
.video-js.vjs-fullscreen:not(.vjs-ios-native-fs){
    width:100% !important;
    height:100% !important;
    padding-top:0 !important
}
.video-js.vjs-fullscreen.vjs-user-inactive{
    cursor:none
}
.vjs-hidden{
    display:none !important
}
.vjs-disabled{
    opacity:0.5;
    cursor:default
}
.video-js .vjs-offscreen{
    height:1px;
    left:-9999px;
    position:absolute;
    top:0;
    width:1px
}
.vjs-lock-showing{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important
}
.vjs-no-js{
    padding:20px;
    color:#fff;
    background-color:#000;
    font-size:18px;
    font-family:Arial,Helvetica,sans-serif;
    text-align:center;
    width:300px;
    height:150px;
    margin:0px auto
}
.vjs-no-js a,.vjs-no-js a:visited{
    color:#66A8CC
}
.video-js .vjs-big-play-button{
    font-size:3em;
    line-height:1.5em;
    height:1.63332em;
    width:3em;
    display:block;
    position:absolute;
    top:10px;
    left:10px;
    padding:0;
    cursor:pointer;
    opacity:1;
    border:0.06666em solid #fff;
    background-color:#fff;
    background-color:rgba(255, 255, 255, 0.5);
    border-radius:0.3em;
    transition:all 0.4s
}
.vjs-big-play-centered .vjs-big-play-button{
    top:50%;
    left:50%;
    margin-top:-0.81666em;
    margin-left:-1.5em
}
.video-js:hover .vjs-big-play-button,.video-js .vjs-big-play-button:focus{
    border-color:#fff;
    background-color:#fff;
    background-color:rgba(255, 255, 255, 0.5);
    transition:all 0s
}
.vjs-controls-disabled .vjs-big-play-button,.vjs-has-started .vjs-big-play-button,.vjs-using-native-controls .vjs-big-play-button,.vjs-error .vjs-big-play-button{
    display:none
}
.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause .vjs-big-play-button{
    display:block
}
.video-js button{
    background:none;
    border:none;
    color:inherit;
    display:inline-block;
    font-size:inherit;
    line-height:inherit;
    text-transform:none;
    text-decoration:none;
    transition:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none
}
.vjs-control .vjs-button{
    width:100%;
    height:100%
}
.video-js .vjs-control.vjs-close-button{
    cursor:pointer;
    height:3em;
    position:absolute;
    right:0;
    top:0.5em;
    z-index:2
}
.video-js .vjs-modal-dialog{
    background:rgba(0, 0, 0, 0.8);
    background:linear-gradient(180deg, rgba(0, 0, 0, 0.8), rgba(255, 255, 255, 0));
    overflow:auto
}
.video-js .vjs-modal-dialog > *{
    box-sizing:border-box
}
.vjs-modal-dialog .vjs-modal-dialog-content{
    font-size:1.2em;
    line-height:1.5;
    padding:20px 24px;
    z-index:1
}
.vjs-menu-button{
    cursor:pointer
}
.vjs-menu-button.vjs-disabled{
    cursor:default
}
.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu{
    display:none
}
.vjs-menu .vjs-menu-content{
    display:block;
    padding:0;
    margin:0;
    font-family:Arial,Helvetica,sans-serif;
    overflow:auto
}
.vjs-menu .vjs-menu-content > *{
    box-sizing:border-box
}
.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu{
    display:none
}
.vjs-menu li{
    list-style:none;
    margin:0;
    padding:0.2em 0;
    line-height:1.4em;
    font-size:1.2em;
    text-align:center;
    text-transform:lowercase
}
.vjs-menu li.vjs-menu-item:focus,.vjs-menu li.vjs-menu-item:hover,.js-focus-visible .vjs-menu li.vjs-menu-item:hover{
    background-color:#fff;
    background-color:rgba(255, 255, 255, 0.5)
}
.vjs-menu li.vjs-selected,.vjs-menu li.vjs-selected:focus,.vjs-menu li.vjs-selected:hover,.js-focus-visible .vjs-menu li.vjs-selected:hover{
    background-color:#fff;
    color:#fff
}
.video-js .vjs-menu *:not(.vjs-selected):focus:not(:focus-visible),.js-focus-visible .vjs-menu *:not(.vjs-selected):focus:not(.focus-visible){
    background:none
}
.vjs-menu li.vjs-menu-title{
    text-align:center;
    text-transform:uppercase;
    font-size:1em;
    line-height:2em;
    padding:0;
    margin:0 0 0.3em 0;
    font-weight:bold;
    cursor:default
}
.vjs-menu-button-popup .vjs-menu{
    display:none;
    position:absolute;
    bottom:0;
    width:10em;
    left:-3em;
    height:0em;
    margin-bottom:1.5em;
    border-top-color:rgba(255, 255, 255, 0.5)
}
.vjs-menu-button-popup .vjs-menu .vjs-menu-content{
    background-color:#fff;
    background-color:rgba(255, 255, 255, 0.5);
    position:absolute;
    width:100%;
    bottom:1.5em;
    max-height:15em
}
.vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{
    max-height:5em
}
.vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{
    max-height:10em
}
.vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content{
    max-height:14em
}
.vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content{
    max-height:25em
}
.vjs-workinghover .vjs-menu-button-popup.vjs-hover .vjs-menu,.vjs-menu-button-popup .vjs-menu.vjs-lock-showing{
    display:block
}
.video-js .vjs-menu-button-inline{
    transition:all 0.4s;
    overflow:hidden
}
.video-js .vjs-menu-button-inline:before{
    width:2.222222222em
}
.video-js .vjs-menu-button-inline:hover,.video-js .vjs-menu-button-inline:focus,.video-js .vjs-menu-button-inline.vjs-slider-active,.video-js.vjs-no-flex .vjs-menu-button-inline{
    width:12em
}
.vjs-menu-button-inline .vjs-menu{
    opacity:0;
    height:100%;
    width:auto;
    position:absolute;
    left:4em;
    top:0;
    padding:0;
    margin:0;
    transition:all 0.4s
}
.vjs-menu-button-inline:hover .vjs-menu,.vjs-menu-button-inline:focus .vjs-menu,.vjs-menu-button-inline.vjs-slider-active .vjs-menu{
    display:block;
    opacity:1
}
.vjs-no-flex .vjs-menu-button-inline .vjs-menu{
    display:block;
    opacity:1;
    position:relative;
    width:auto
}
.vjs-no-flex .vjs-menu-button-inline:hover .vjs-menu,.vjs-no-flex .vjs-menu-button-inline:focus .vjs-menu,.vjs-no-flex .vjs-menu-button-inline.vjs-slider-active .vjs-menu{
    width:auto
}
.vjs-menu-button-inline .vjs-menu-content{
    width:auto;
    height:100%;
    margin:0;
    overflow:hidden
}
.video-js .vjs-control-bar{
    display:none;
    width:100%;
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    height:3em;
    background-color:#fff;
    background-color:rgba(255, 255, 255, 0.5)
}
.vjs-has-started .vjs-control-bar,.vjs-audio-only-mode .vjs-control-bar{
    display:flex;
    visibility:visible;
    opacity:1;
    transition:visibility 0.1s,opacity 0.1s
}
.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{
    visibility:visible;
    opacity:0;
    pointer-events:none;
    transition:visibility 1s,opacity 1s
}
.vjs-controls-disabled .vjs-control-bar,.vjs-using-native-controls .vjs-control-bar,.vjs-error .vjs-control-bar{
    display:none !important
}
.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar,.vjs-audio-only-mode.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{
    opacity:1;
    visibility:visible;
    pointer-events:auto
}
.vjs-has-started.vjs-no-flex .vjs-control-bar{
    display:table
}
.video-js .vjs-control{
    position:relative;
    text-align:center;
    margin:0;
    padding:0;
    height:100%;
    width:4em;
    flex:none
}
.video-js .vjs-control.vjs-visible-text{
    width:auto;
    padding-left:1em;
    padding-right:1em
}
.vjs-button > .vjs-icon-placeholder:before{
    font-size:1.8em;
    line-height:1.67
}
.vjs-button > .vjs-icon-placeholder{
    display:block
}
.video-js .vjs-control:focus:before,.video-js .vjs-control:hover:before,.video-js .vjs-control:focus{
    text-shadow:0em 0em 1em white
}
.video-js *:not(.vjs-visible-text) > .vjs-control-text{
    border:0;
    clip:rect(0 0 0 0);
    height:1px;
    overflow:hidden;
    padding:0;
    position:absolute;
    width:1px
}
.vjs-no-flex .vjs-control{
    display:table-cell;
    vertical-align:middle
}
.video-js .vjs-custom-control-spacer{
    display:none
}
.video-js .vjs-progress-control{
    cursor:pointer;
    flex:auto;
    display:flex;
    align-items:center;
    min-width:4em;
    touch-action:none
}
.video-js .vjs-progress-control.disabled{
    cursor:default
}
.vjs-live .vjs-progress-control{
    display:none
}
.vjs-liveui .vjs-progress-control{
    display:flex;
    align-items:center
}
.vjs-no-flex .vjs-progress-control{
    width:auto
}
.video-js .vjs-progress-holder{
    flex:auto;
    transition:all 0.2s;
    height:0.3em
}
.video-js .vjs-progress-control .vjs-progress-holder{
    margin:0 10px
}
.video-js .vjs-progress-control:hover .vjs-progress-holder{
    font-size:1.6666666667em
}
.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled{
    font-size:1em
}
.video-js .vjs-progress-holder .vjs-play-progress,.video-js .vjs-progress-holder .vjs-load-progress,.video-js .vjs-progress-holder .vjs-load-progress div{
    position:absolute;
    display:block;
    height:100%;
    margin:0;
    padding:0;
    width:0
}
.video-js .vjs-play-progress{
    background-color:#fff
}
.video-js .vjs-play-progress:before{
    font-size:0.9em;
    position:absolute;
    right:-0.5em;
    top:-0.3333333333em;
    z-index:1
}
.video-js .vjs-load-progress{
    background:rgba(255, 255, 255, 0.5)
}
.video-js .vjs-load-progress div{
    background:rgba(255, 255, 255, 0.75)
}
.video-js .vjs-time-tooltip{
    background-color:#fff;
    background-color:rgba(255, 255, 255, 0.8);
    border-radius:0.3em;
    color:#000;
    float:right;
    font-family:Arial,Helvetica,sans-serif;
    font-size:1em;
    padding:6px 8px 8px 8px;
    pointer-events:none;
    position:absolute;
    top:-3.4em;
    visibility:hidden;
    z-index:1
}
.video-js .vjs-progress-holder:focus .vjs-time-tooltip{
    display:none
}
.video-js .vjs-progress-control:hover .vjs-time-tooltip,.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip{
    display:block;
    font-size:0.6em;
    visibility:visible
}
.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip{
    font-size:1em
}
.video-js .vjs-progress-control .vjs-mouse-display{
    display:none;
    position:absolute;
    width:1px;
    height:100%;
    background-color:#000;
    z-index:1
}
.vjs-no-flex .vjs-progress-control .vjs-mouse-display{
    z-index:0
}
.video-js .vjs-progress-control:hover .vjs-mouse-display{
    display:block
}
.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display{
    visibility:hidden;
    opacity:0;
    transition:visibility 1s,opacity 1s
}
.video-js.vjs-user-inactive.vjs-no-flex .vjs-progress-control .vjs-mouse-display{
    display:none
}
.vjs-mouse-display .vjs-time-tooltip{
    color:#fff;
    background-color:#000;
    background-color:rgba(0, 0, 0, 0.8)
}
.video-js .vjs-slider{
    position:relative;
    cursor:pointer;
    padding:0;
    margin:0 0.45em 0 0.45em;
    /* iOS Safari */
    -webkit-touch-callout:none;
    /* Safari */
    -webkit-user-select:none;
    /* Konqueror HTML */
    /* Firefox */
    -moz-user-select:none;
    /* Internet Explorer/Edge */
    /* Non-prefixed version, currently supported by Chrome and Opera */
    user-select:none;
    background-color:#fff;
    background-color:rgba(255, 255, 255, 0.5)
}
.video-js .vjs-slider.disabled{
    cursor:default
}
.video-js .vjs-slider:focus{
    text-shadow:0em 0em 1em white;
    box-shadow:0 0 1em #fff
}
.video-js .vjs-mute-control{
    cursor:pointer;
    flex:none
}
.video-js .vjs-volume-control{
    cursor:pointer;
    margin-right:1em;
    display:flex
}
.video-js .vjs-volume-control.vjs-volume-horizontal{
    width:5em
}
.video-js .vjs-volume-panel .vjs-volume-control{
    visibility:visible;
    opacity:0;
    width:1px;
    height:1px;
    margin-left:-1px
}
.video-js .vjs-volume-panel{
    transition:width 1s
}
.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control,.video-js .vjs-volume-panel:active .vjs-volume-control,.video-js .vjs-volume-panel:focus .vjs-volume-control,.video-js .vjs-volume-panel .vjs-volume-control:active,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active{
    visibility:visible;
    opacity:1;
    position:relative;
    transition:visibility 0.1s,opacity 0.1s,height 0.1s,width 0.1s,left 0s,top 0s
}
.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal{
    width:5em;
    height:3em;
    margin-right:0
}
.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical{
    left:-3.5em;
    transition:left 0s
}
.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active{
    width:10em;
    transition:width 0.1s
}
.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only{
    width:4em
}
.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical{
    height:8em;
    width:3em;
    left:-3000em;
    transition:visibility 1s,opacity 1s,height 1s 1s,width 1s 1s,left 1s 1s,top 1s 1s
}
.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal{
    transition:visibility 1s,opacity 1s,height 1s 1s,width 1s,left 1s 1s,top 1s 1s
}
.video-js.vjs-no-flex .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal{
    width:5em;
    height:3em;
    visibility:visible;
    opacity:1;
    position:relative;
    transition:none
}
.video-js.vjs-no-flex .vjs-volume-control.vjs-volume-vertical,.video-js.vjs-no-flex .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical{
    position:absolute;
    bottom:3em;
    left:0.5em
}
.video-js .vjs-volume-panel{
    display:flex
}
.video-js .vjs-volume-bar{
    margin:1.35em 0.45em
}
.vjs-volume-bar.vjs-slider-horizontal{
    width:5em;
    height:0.3em
}
.vjs-volume-bar.vjs-slider-vertical{
    width:0.3em;
    height:5em;
    margin:1.35em auto
}
.video-js .vjs-volume-level{
    position:absolute;
    bottom:0;
    left:0;
    background-color:#fff
}
.video-js .vjs-volume-level:before{
    position:absolute;
    font-size:0.9em;
    z-index:1
}
.vjs-slider-vertical .vjs-volume-level{
    width:0.3em
}
.vjs-slider-vertical .vjs-volume-level:before{
    top:-0.5em;
    left:-0.3em;
    z-index:1
}
.vjs-slider-horizontal .vjs-volume-level{
    height:0.3em
}
.vjs-slider-horizontal .vjs-volume-level:before{
    top:-0.3em;
    right:-0.5em
}
.video-js .vjs-volume-panel.vjs-volume-panel-vertical{
    width:4em
}
.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level{
    height:100%
}
.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level{
    width:100%
}
.video-js .vjs-volume-vertical{
    width:3em;
    height:8em;
    bottom:8em;
    background-color:#fff;
    background-color:rgba(255, 255, 255, 0.5)
}
.video-js .vjs-volume-horizontal .vjs-menu{
    left:-2em
}
.video-js .vjs-volume-tooltip{
    background-color:#fff;
    background-color:rgba(255, 255, 255, 0.8);
    border-radius:0.3em;
    color:#000;
    float:right;
    font-family:Arial,Helvetica,sans-serif;
    font-size:1em;
    padding:6px 8px 8px 8px;
    pointer-events:none;
    position:absolute;
    top:-3.4em;
    visibility:hidden;
    z-index:1
}
.video-js .vjs-volume-control:hover .vjs-volume-tooltip,.video-js .vjs-volume-control:hover .vjs-progress-holder:focus .vjs-volume-tooltip{
    display:block;
    font-size:1em;
    visibility:visible
}
.video-js .vjs-volume-vertical:hover .vjs-volume-tooltip,.video-js .vjs-volume-vertical:hover .vjs-progress-holder:focus .vjs-volume-tooltip{
    left:1em;
    top:-12px
}
.video-js .vjs-volume-control.disabled:hover .vjs-volume-tooltip{
    font-size:1em
}
.video-js .vjs-volume-control .vjs-mouse-display{
    display:none;
    position:absolute;
    width:100%;
    height:1px;
    background-color:#000;
    z-index:1
}
.video-js .vjs-volume-horizontal .vjs-mouse-display{
    width:1px;
    height:100%
}
.vjs-no-flex .vjs-volume-control .vjs-mouse-display{
    z-index:0
}
.video-js .vjs-volume-control:hover .vjs-mouse-display{
    display:block
}
.video-js.vjs-user-inactive .vjs-volume-control .vjs-mouse-display{
    visibility:hidden;
    opacity:0;
    transition:visibility 1s,opacity 1s
}
.video-js.vjs-user-inactive.vjs-no-flex .vjs-volume-control .vjs-mouse-display{
    display:none
}
.vjs-mouse-display .vjs-volume-tooltip{
    color:#fff;
    background-color:#000;
    background-color:rgba(0, 0, 0, 0.8)
}
.vjs-poster{
    display:inline-block;
    vertical-align:middle;
    background-repeat:no-repeat;
    background-position:50% 50%;
    background-size:contain;
    background-color:#000000;
    cursor:pointer;
    margin:0;
    padding:0;
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    height:100%
}
.vjs-has-started .vjs-poster,.vjs-using-native-controls .vjs-poster{
    display:none
}
.vjs-audio.vjs-has-started .vjs-poster,.vjs-has-started.vjs-audio-poster-mode .vjs-poster{
    display:block
}
.video-js .vjs-live-control{
    display:flex;
    align-items:flex-start;
    flex:auto;
    font-size:1em;
    line-height:3em
}
.vjs-no-flex .vjs-live-control{
    display:table-cell;
    width:auto;
    text-align:left
}
.video-js:not(.vjs-live) .vjs-live-control,.video-js.vjs-liveui .vjs-live-control{
    display:none
}
.video-js .vjs-seek-to-live-control{
    align-items:center;
    cursor:pointer;
    flex:none;
    display:inline-flex;
    height:100%;
    padding-left:0.5em;
    padding-right:0.5em;
    font-size:1em;
    line-height:3em;
    width:auto;
    min-width:4em
}
.vjs-no-flex .vjs-seek-to-live-control{
    display:table-cell;
    width:auto;
    text-align:left
}
.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,.video-js:not(.vjs-live) .vjs-seek-to-live-control{
    display:none
}
.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge{
    cursor:auto
}
.vjs-seek-to-live-control .vjs-icon-placeholder{
    margin-right:0.5em;
    color:#888
}
.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder{
    color:red
}
.video-js .vjs-time-control{
    flex:none;
    font-size:1em;
    line-height:3em;
    min-width:2em;
    width:auto;
    padding-left:1em;
    padding-right:1em
}
.vjs-live .vjs-time-control{
    display:none
}
.video-js .vjs-current-time,.vjs-no-flex .vjs-current-time{
    display:none
}
.video-js .vjs-duration,.vjs-no-flex .vjs-duration{
    display:none
}
.vjs-time-divider{
    display:none;
    line-height:3em
}
.vjs-live .vjs-time-divider{
    display:none
}
.video-js .vjs-play-control{
    cursor:pointer
}
.video-js .vjs-play-control .vjs-icon-placeholder{
    flex:none
}
.vjs-text-track-display{
    position:absolute;
    bottom:3em;
    left:0;
    right:0;
    top:0;
    pointer-events:none
}
.video-js.vjs-controls-disabled .vjs-text-track-display,.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display{
    bottom:1em
}
.video-js .vjs-text-track{
    font-size:1.4em;
    text-align:center;
    margin-bottom:0.1em
}
.vjs-subtitles{
    color:#fff
}
.vjs-captions{
    color:#fc6
}
.vjs-tt-cue{
    display:block
}
video::-webkit-media-text-track-display{
    transform:translateY(-3em)
}
.video-js.vjs-controls-disabled video::-webkit-media-text-track-display,.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display{
    transform:translateY(-1.5em)
}
.video-js .vjs-picture-in-picture-control{
    cursor:pointer;
    flex:none
}
.video-js.vjs-audio-only-mode .vjs-picture-in-picture-control{
    display:none
}
.video-js .vjs-fullscreen-control{
    cursor:pointer;
    flex:none
}
.video-js.vjs-audio-only-mode .vjs-fullscreen-control{
    display:none
}
.vjs-playback-rate > .vjs-menu-button,.vjs-playback-rate .vjs-playback-rate-value{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%
}
.vjs-playback-rate .vjs-playback-rate-value{
    pointer-events:none;
    font-size:1.5em;
    line-height:2;
    text-align:center
}
.vjs-playback-rate .vjs-menu{
    width:4em;
    left:0em
}
.vjs-error .vjs-error-display .vjs-modal-dialog-content{
    font-size:1.4em;
    text-align:center
}
.vjs-error .vjs-error-display:before{
    color:#fff;
    content:"X";
    font-family:Arial,Helvetica,sans-serif;
    font-size:4em;
    left:0;
    line-height:1;
    margin-top:-0.5em;
    position:absolute;
    text-shadow:0.05em 0.05em 0.1em #000;
    text-align:center;
    top:50%;
    vertical-align:middle;
    width:100%
}
.vjs-loading-spinner{
    position:absolute;
    top:50%;
    left:50%;
    display:none;
    box-sizing:border-box;
    width:50px;
    height:50px;
    margin:-25px 0 0 -25px;
    text-align:left;
    background-clip:padding-box;
    border:6px solid rgba(255, 255, 255, 0.5);
    border-radius:25px;
    opacity:0.5;
    visibility:hidden
}
.vjs-seeking .vjs-loading-spinner,.vjs-waiting .vjs-loading-spinner{
    display:block;
    animation:vjs-spinner-show 0s linear 0.3s forwards
}
.vjs-loading-spinner::before,.vjs-loading-spinner::after{
    position:absolute;
    box-sizing:inherit;
    width:inherit;
    height:inherit;
    margin:-6px;
    border:inherit;
    border-color:transparent;
    border-top-color:#fff;
    border-radius:inherit;
    opacity:1;
    content:""
}
.vjs-seeking .vjs-loading-spinner::before,.vjs-seeking .vjs-loading-spinner::after,.vjs-waiting .vjs-loading-spinner::before,.vjs-waiting .vjs-loading-spinner::after{
    animation:vjs-spinner-spin 1.1s cubic-bezier(0.6, 0.2, 0, 0.8) infinite,vjs-spinner-fade 1.1s linear infinite
}
.vjs-seeking .vjs-loading-spinner::before,.vjs-waiting .vjs-loading-spinner::before{
    border-top-color:#fff
}
.vjs-seeking .vjs-loading-spinner::after,.vjs-waiting .vjs-loading-spinner::after{
    border-top-color:#fff;
    animation-delay:0.44s
}
@keyframes vjs-spinner-show{
    to{
        visibility:visible
    }
}
@keyframes vjs-spinner-show{
    to{
        visibility:visible
    }
}
@keyframes vjs-spinner-spin{
    100%{
        transform:rotate(360deg)
    }
}
@keyframes vjs-spinner-spin{
    100%{
        transform:rotate(360deg)
    }
}
@keyframes vjs-spinner-fade{
    0%{
        border-top-color:#fff
    }
    20%{
        border-top-color:#fff
    }
    35%{
        border-top-color:#fff
    }
    60%{
        border-top-color:#fff
    }
    100%{
        border-top-color:#fff
    }
}
@keyframes vjs-spinner-fade{
    0%{
        border-top-color:#fff
    }
    20%{
        border-top-color:#fff
    }
    35%{
        border-top-color:#fff
    }
    60%{
        border-top-color:#fff
    }
    100%{
        border-top-color:#fff
    }
}
.video-js.vjs-audio-only-mode .vjs-captions-button{
    display:none
}
.vjs-chapters-button .vjs-menu ul{
    width:24em
}
.video-js.vjs-audio-only-mode .vjs-descriptions-button{
    display:none
}
.video-js .vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder{
    vertical-align:middle;
    display:inline-block;
    margin-bottom:-0.1em
}
.video-js .vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{
    font-family:VideoJS;
    content:"\f10d";
    font-size:1.5em;
    line-height:inherit
}
.video-js.vjs-audio-only-mode .vjs-subs-caps-button{
    display:none
}
.video-js .vjs-audio-button + .vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder{
    vertical-align:middle;
    display:inline-block;
    margin-bottom:-0.1em
}
.video-js .vjs-audio-button + .vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{
    font-family:VideoJS;
    content:" \f11d";
    font-size:1.5em;
    line-height:inherit
}
.video-js.vjs-layout-small .vjs-current-time,.video-js.vjs-layout-small .vjs-time-divider,.video-js.vjs-layout-small .vjs-duration,.video-js.vjs-layout-small .vjs-remaining-time,.video-js.vjs-layout-small .vjs-playback-rate,.video-js.vjs-layout-small .vjs-volume-control,.video-js.vjs-layout-x-small .vjs-current-time,.video-js.vjs-layout-x-small .vjs-time-divider,.video-js.vjs-layout-x-small .vjs-duration,.video-js.vjs-layout-x-small .vjs-remaining-time,.video-js.vjs-layout-x-small .vjs-playback-rate,.video-js.vjs-layout-x-small .vjs-volume-control,.video-js.vjs-layout-tiny .vjs-current-time,.video-js.vjs-layout-tiny .vjs-time-divider,.video-js.vjs-layout-tiny .vjs-duration,.video-js.vjs-layout-tiny .vjs-remaining-time,.video-js.vjs-layout-tiny .vjs-playback-rate,.video-js.vjs-layout-tiny .vjs-volume-control{
    display:none
}
.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover{
    width:auto;
    width:initial
}
.video-js.vjs-layout-x-small .vjs-progress-control,.video-js.vjs-layout-tiny .vjs-progress-control{
    display:none
}
.video-js.vjs-layout-x-small .vjs-custom-control-spacer{
    flex:auto;
    display:block
}
.video-js.vjs-layout-x-small.vjs-no-flex .vjs-custom-control-spacer{
    width:auto
}
.vjs-modal-dialog.vjs-text-track-settings{
    background-color:#fff;
    background-color:rgba(255, 255, 255, 0.75);
    color:#fff;
    height:70%
}
.vjs-text-track-settings .vjs-modal-dialog-content{
    display:table
}
.vjs-text-track-settings .vjs-track-settings-colors,.vjs-text-track-settings .vjs-track-settings-font,.vjs-text-track-settings .vjs-track-settings-controls{
    display:table-cell
}
.vjs-text-track-settings .vjs-track-settings-controls{
    text-align:right;
    vertical-align:bottom
}
@supports (display: grid){
    .vjs-text-track-settings .vjs-modal-dialog-content{
        display:grid;
        grid-template-columns:1fr 1fr;
        grid-template-rows:1fr;
        padding:20px 24px 0px 24px
    }
    .vjs-track-settings-controls .vjs-default-button{
        margin-bottom:20px
    }
    .vjs-text-track-settings .vjs-track-settings-controls{
        grid-column:1/-1
    }
    .vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content{
        grid-template-columns:1fr
    }
}
.vjs-track-setting > select{
    margin-right:1em;
    margin-bottom:0.5em
}
.vjs-text-track-settings fieldset{
    margin:5px;
    padding:3px;
    border:none
}
.vjs-text-track-settings fieldset span{
    display:inline-block
}
.vjs-text-track-settings fieldset span > select{
    max-width:7.3em
}
.vjs-text-track-settings legend{
    color:#fff;
    margin:0 0 5px 0
}
.vjs-text-track-settings .vjs-label{
    position:absolute;
    clip:rect(1px 1px 1px 1px);
    clip:rect(1px, 1px, 1px, 1px);
    display:block;
    margin:0 0 5px 0;
    padding:0;
    border:0;
    height:1px;
    width:1px;
    overflow:hidden
}
.vjs-track-settings-controls button:focus,.vjs-track-settings-controls button:active{
    outline-style:solid;
    outline-width:medium;
    background-image:linear-gradient(0deg, #fff 88%, #fff 100%)
}
.vjs-track-settings-controls button:hover{
    color:rgba(43, 51, 63, 0.75)
}
.vjs-track-settings-controls button{
    background-color:#fff;
    background-image:linear-gradient(-180deg, #fff 88%, #fff 100%);
    color:#2B333F;
    cursor:pointer;
    border-radius:2px
}
.vjs-track-settings-controls .vjs-default-button{
    margin-right:1em
}
@media print{
    .video-js > *:not(.vjs-tech):not(.vjs-poster){
        visibility:hidden
    }
}
.vjs-resize-manager{
    position:absolute;
    z-index:-1000;
    top:0;
    left:0;
    width:100%;
    height:100%;
    border:none
}
.js-focus-visible .video-js *:focus:not(.focus-visible){
    outline:none
}
.video-js *:focus:not(:focus-visible){
    outline:none
}
.video-js{
    --spacer:1em;
    cursor:pointer;
    font-size:14px;
    background:none
}
@media (min-width: 768px){
    .video-js{
        --spacer:2em
    }
}
@media (min-width: 1440px){
    .video-js{
        font-size:16px
    }
}
.is-ios .video-js{
    opacity:0
}
.video-js *:focus{
    outline:none
}
.video-js.vjs-user-inactive.vjs-playing::after{
    opacity:0;
    transition:opacity 1s
}
.video-js::after{
    position:absolute;
    right:0;
    bottom:0;
    width:100%;
    height:calc((var(--spacer) + 3em) * 2.5);
    background:linear-gradient(to top, hsla(0, 0%, 0%, 0.32) 0%, hsla(0, 0%, 0%, 0.316) 8.1%, hsla(0, 0%, 0%, 0.304) 15.5%, hsla(0, 0%, 0%, 0.287) 22.5%, hsla(0, 0%, 0%, 0.264) 29%, hsla(0, 0%, 0%, 0.237) 35.3%, hsla(0, 0%, 0%, 0.207) 41.2%, hsla(0, 0%, 0%, 0.176) 47.1%, hsla(0, 0%, 0%, 0.144) 52.9%, hsla(0, 0%, 0%, 0.113) 58.8%, hsla(0, 0%, 0%, 0.083) 64.7%, hsla(0, 0%, 0%, 0.056) 71%, hsla(0, 0%, 0%, 0.033) 77.5%, hsla(0, 0%, 0%, 0.016) 84.5%, hsla(0, 0%, 0%, 0.004) 91.9%, hsla(0, 0%, 0%, 0) 100%);
    transition:opacity 0.5s;
    pointer-events:none;
    content:""
}
.video-js .vjs-control{
    width:3em;
    height:3em
}
.video-js .vjs-control-bar{
    will-change:transform;
    z-index:1;
    bottom:var(--spacer);
    padding:0 var(--spacer);
    background:none
}
.video-js .vjs-slider{
    background:var(--color-white)
}
.video-js .vjs-progress-holder:focus,.video-js .vjs-control:focus{
    text-shadow:none !important;
    box-shadow:none !important
}
.video-js .vjs-big-play-button{
    top:0;
    left:0;
    width:100%;
    height:100%
}
html:not(.is-mobile) .video-js .vjs-big-play-button{
    display:none
}
html:not(.is-ios) .video-js .vjs-big-play-button{
    opacity:0
}
.video-js .vjs-progress-control .vjs-progress-holder{
    height:3px;
    margin:0 2em
}
html:not(.is-ios).is-mobile .video-js .vjs-progress-control .vjs-progress-holder{
    margin:0 1.2em 0 2em
}
.video-js .vjs-play-progress{
    background-color:var(--color-orange);
    transition:width 0.2s
}
.video-js .vjs-load-progress{
    background-color:unset
}
.video-js .vjs-load-progress div{
    background-color:unset
}
.video-js .vjs-label-text{
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    overflow:hidden;
    width:100%;
    height:100%;
    padding-left:2rem;
    font-family:var(--font-family-heading);
    font-size:2em;
    line-height:1;
    text-transform:uppercase
}
.video-js .vjs-label-text div{
    transition:transform 0.75s cubic-bezier(0.23, 1, 0.32, 1)
}
.video-js .vjs-label-text div:last-child{
    position:absolute;
    transform:translateY(100%)
}
.video-js.vjs-playing .vjs-play-control .vjs-label-text div:first-child{
    transform:translateY(-100%)
}
.video-js.vjs-playing .vjs-play-control .vjs-label-text div:last-child{
    transform:translateY(0)
}
.video-js .vjs-play-control .vjs-label-text div:last-child{
    margin-left:0.2em
}
.video-js .vjs-volume-panel .vjs-label-text div:last-child{
    margin-left:0.2em
}
.video-js .vjs-vol-0 .vjs-label-text div:first-child{
    transform:translateY(-100%)
}
.video-js .vjs-vol-0 .vjs-label-text div:last-child{
    transform:translateY(0)
}
.video-js .vjs-play-control{
    width:6em;
    height:2em;
    margin-top:0.5em
}
.video-js .vjs-play-control .vjs-icon-placeholder::before{
    width:auto;
    margin-left:0.1em;
    text-align:left
}
.video-js .vjs-volume-panel{
    order:1;
    width:5.2em !important
}
html:not(.is-ios).is-mobile .video-js .vjs-volume-panel{
    display:none
}
.video-js .vjs-volume-panel .vjs-icon-placeholder::before{
    width:auto;
    margin-left:0.1em;
    text-align:left
}
.video-js .vjs-mute-control{
    width:100%;
    height:2em;
    margin-top:0.5em
}
.video-js .vjs-fullscreen-control{
    position:relative;
    top:1px;
    order:2;
    width:5em !important
}
.video-js .vjs-fullscreen-control span:first-child{
    width:2.5em;
    height:1.1em;
    margin-top:0.9em;
    margin-right:0.5em;
    margin-left:1.5em;
    border:2px solid currentcolor
}
.video-js .vjs-fullscreen-control span::before{
    position:relative;
    top:0.25em;
    left:-1px;
    width:50%;
    height:50%;
    background:currentcolor;
    content:"" !important
}
.vjs-paused,.vjs-sliding .vjs-play-progress{
    transition:none !important
}
.vjs-remaining-time,.vjs-volume-control,.vjs-time-tooltip,.vjs-play-progress::before,.vjs-seek-to-live-control{
    display:none !important
}
.vjs-icon-placeholder{
    position:absolute;
    top:0;
    left:0;
    display:flex;
    align-items:center;
    width:100%;
    height:100%
}
.vjs-icon-placeholder::before{
    display:flex;
    justify-content:center;
    align-items:center;
    height:1em;
    line-height:1.8 !important
}
@media (min-width: 768px){
    .vjs-control-bar .vjs-fullscreen-control{
        margin-left:1em
    }
}
.vjs-progress-holder{
    font-size:inherit !important
}
.video-js .vjs-loading-spinner{
    opacity:0.5
}
.video-js .vjs-loading-spinner::before,.video-js .vjs-loading-spinner::after{
    border-top-color:#fff
}
.video-js .vjs-seeking .vjs-loading-spinner::before,.video-js .vjs-waiting .vjs-loading-spinner::before{
    border-top-color:#fff
}
.video-js .vjs-seeking .vjs-loading-spinner::after,.video-js .vjs-waiting .vjs-loading-spinner::after{
    border-top-color:#fff
}
@keyframes vjs-spinner-fade{
    0%{
        border-top-color:#fff
    }
    20%{
        border-top-color:#fff
    }
    35%{
        border-top-color:#fff
    }
    60%{
        border-top-color:#fff
    }
    100%{
        border-top-color:#fff
    }
}
@keyframes vjs-spinner-fade{
    0%{
        border-top-color:#fff
    }
    20%{
        border-top-color:#fff
    }
    35%{
        border-top-color:#fff
    }
    60%{
        border-top-color:#fff
    }
    100%{
        border-top-color:#fff
    }
}
.c-site-wrapper__content > * + *,.c-media-list__wrapper > * + *,.u-flow > * + *{
    padding-top:var(--flow, 10rem)
}
.u-space-s{
    --flow:var(--space-xl)
}
.u-space-m{
    --flow:var(--space-2xl)
}
.u-space-l{
    --flow:var(--space-3xl)
}
@media (min-width: 768px){
    .u-space-l{
        --flow:var(--space-5xl)
    }
}
.u-space-xl{
    --flow:var(--space-5xl)
}
@media (min-width: 768px){
    .u-space-xl{
        --flow:var(--space-8xl)
    }
}
@media (min-width: 992px){
    .c-about-status__left{
        --column-span:4
    }
}
.c-about-status__big-text{
    font-size:var(--step-3)
}
.c-about-status__small-text{
    margin-top:var(--space-m);
    font-size:var(--step-1)
}
@media (min-width: 992px){
    .c-about-status__small-text{
        margin-top:var(--space-l)
    }
}
.c-about-status__right{
    margin-top:var(--space-xl)
}
@media (min-width: 992px){
    .c-about-status__right{
        --column-start:6;
        --column-span:7;
        margin-top:0
    }
}
.c-about-status__item{
    --columns:12;
    position:relative;
    padding:var(--space-s) 0;
    font-family:var(--font-family-mono)
}
@media (min-width: 992px){
    .c-about-status__item{
        --columns:7;
        padding:var(--space-l) 0
    }
    .c-about-status__item:last-child{
        padding-bottom:0
    }
}
@media (max-width: 991.98px){
    .c-about-status__item:last-child::after{
        position:absolute;
        bottom:0;
        left:0;
        width:100%;
        height:1px;
        background:var(--color-gray-03);
        content:"";
        transform:scaleX(0);
        opacity:0;
        transform-origin:0 50%;
        transition:transform 1.5s cubic-bezier(0.23, 1, 0.32, 1),opacity 1.5s
    }
    .c-about-status__item.is-inview:last-child::after{
        opacity:1;
        transform:scaleX(1)
    }
}
.c-about-status__item::before{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:1px;
    background:var(--color-gray-03);
    content:"";
    transform:scaleX(0);
    opacity:0;
    transform-origin:0 50%;
    transition:transform 1.5s cubic-bezier(0.23, 1, 0.32, 1),opacity 1.5s
}
.c-about-status__item.is-inview::before{
    opacity:1;
    transform:scaleX(1)
}
.c-about-status__item-text{
    --column-start:1;
    --column-span:12;
    margin-right:var(--space-m);
    font-weight:700
}
@media (min-width: 992px){
    .c-about-status__item-text{
        --column-span:4;
        --column-start:1
    }
}
.c-about-status__item-status{
    --column-start:1;
    --column-span:12
}
@media (min-width: 992px){
    .c-about-status__item-status{
        --column-span:3;
        --column-start:5
    }
}
.c-about-status__item-status span{
    font-weight:700
}
.c-about-status__item-status::before{
    position:relative;
    top:-0.025em;
    display:inline-block;
    width:0.55em;
    height:0.65em;
    margin-right:var(--space-2xs);
    background:var(--color-orange);
    border-radius:4px;
    content:""
}
.c-about-status__images{
    margin-top:var(--space-8xl)
}
@media (min-width: 768px){
    .c-about-status__image01{
        --column-span:5;
        --column-start:1
    }
}
.c-about-status__image01 .c-about-status__image-wrapper{
    padding-bottom:75%;
    background-color:var(--color-placeholder)
}
@media (min-width: 768px){
    .c-about-status__image02{
        --column-span:3;
        --column-start:6
    }
}
.c-about-status__image-wrapper{
    position:relative;
    overflow:hidden;
    padding-bottom:127.9181323953%;
    background:var(--color-placeholder);
    border-radius:var(--banner-radius)
}
.c-about-status__image{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0
}
.c-banner-contact{
    position:relative;
    overflow:hidden;
    margin-top:-1px;
    padding-bottom:var(--banner-padding);
    color:var(--color-white)
}
.c-banner-contact .o-container{
    position:relative;
    z-index:1
}
@media (max-width: 767.98px){
    .c-banner-contact .o-container{
        padding-right:calc(var(--container-padding) * 1.5);
        padding-left:calc(var(--container-padding) * 1.5)
    }
}
.c-banner-contact__text{
    --column-span:12;
    width:100%;
    max-width:25ch;
    padding-bottom:var(--space-7xl);
    color:var(--color-gray-01);
    font-size:var(--step-6);
    text-align:right;
    justify-self:flex-end
}
@media (min-width: 768px){
    .c-banner-contact__text{
        font-size:var(--step-7)
    }
}
@media (min-width: 1960px){
    .c-banner-contact__text{
        max-width:30ch
    }
}
.c-banner-contact__content{
    --gutter-y:var(--space-m);
    grid-auto-flow:dense
}
.c-banner-contact__positions{
    display:flex;
    justify-content:space-between;
    font-family:var(--font-family-mono)
}
@media (max-width: 767.98px){
    .c-banner-contact__positions{
        margin-bottom:var(--space-m)
    }
}
@media (min-width: 768px){
    .c-banner-contact__positions{
        --column-start:9;
        --column-span:4
    }
}
.c-banner-contact__title{
    max-width:10ch;
    color:var(--color-orange) !important;
    font-size:var(--step-8)
}
@media (min-width: 768px){
    .c-banner-contact__title{
        font-size:var(--step-9)
    }
}
@media (min-width: 1440px){
    .c-banner-contact__title{
        font-size:var(--step-10)
    }
}
@media (min-width: 768px){
    .c-banner-contact__title{
        --column-start:1;
        --column-span:8
    }
}
.c-banner-contact__subtitle p{
    max-width:42ch;
    font-size:var(--step-1)
}
.c-banner-contact__subtitle p a{
    position:relative;
    display:inline-block;
    color:var(--color-gray-02);
    text-decoration:none
}
.c-banner-contact__subtitle p a::before{
    position:absolute;
    z-index:-1;
    bottom:0.2em;
    left:0;
    width:100%;
    height:1px;
    background:currentcolor;
    transition:transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    content:"";
    transform:scaleX(0);
    transform-origin:100% 50%;
    will-change:transform
}
@media (hover: hover){
    .c-banner-contact__subtitle p a:hover::before{
        transform:scaleX(1);
        transform-origin:0 50%
    }
}
.c-banner-contact__content{
    padding-bottom:var(--space-4xl)
}
.c-banner-contact__image-wrapper{
    position:absolute;
    top:var(--banner-padding);
    right:var(--banner-padding);
    bottom:var(--banner-padding);
    left:var(--banner-padding);
    overflow:hidden;
    background:var(--color-placeholder);
    border-radius:var(--banner-radius);
    -webkit-mask-image:radial-gradient(#fff, #000);
    mask-image:radial-gradient(#fff, #000)
}
.c-banner-contact__image{
    position:absolute;
    z-index:1;
    top:-5vh;
    right:0;
    bottom:-5vh;
    left:0
}
.c-banner-contact__image::before{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    content:"";
    background:rgba(0, 0, 0, 0.1)
}
.c-banner-hp{
    color:var(--color-white)
}
.c-banner-hp .flickity-viewport{
    position:static
}
.c-banner-hp .flickity-cell{
    opacity:0 !important;
    transition:opacity 1.5s
}
.c-banner-hp .flickity-cell.is-selected{
    opacity:1 !important
}
.c-banner-hp__main-wrapper{
    position:relative;
    overflow:hidden
}
.c-banner-hp__gallery{
    position:absolute;
    z-index:-1;
    top:var(--banner-padding);
    right:var(--banner-padding);
    bottom:var(--banner-padding);
    left:var(--banner-padding);
    overflow:hidden;
    background:var(--color-placeholder);
    border-radius:var(--banner-radius);
    -webkit-mask-image:radial-gradient(#fff, #000);
    mask-image:radial-gradient(#fff, #000)
}
.c-banner-hp__image-wrapper{
    position:absolute;
    top:-1px;
    right:-1px;
    bottom:-1px;
    left:-1px
}
.c-banner-hp__title{
    max-width:8ch;
    color:var(--color-orange) !important;
    font-size:var(--step-8)
}
@media (min-width: 768px){
    .c-banner-hp__title{
        font-size:var(--step-9)
    }
}
@media (min-width: 992px){
    .c-banner-hp__title{
        font-size:var(--step-10)
    }
}
.c-banner-hp__cta{
    margin-top:var(--space-xl)
}
.c-banner-hp__wrapper{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    margin-left:calc(var(--container-padding) / 2);
    padding:var(--padding-bg-image)
}
@media (min-width: 768px){
    .c-banner-hp__wrapper{
        margin-left:0
    }
}
@media (min-width: 992px){
    .c-banner-hp__wrapper{
        flex-direction:row;
        align-items:center
    }
}
@media (min-width: 992px){
    .c-banner-hp__left{
        flex:50%
    }
}
.c-banner-hp__right{
    display:flex
}
@media (max-width: 991.98px){
    .c-banner-hp__right{
        margin-top:var(--space-3xl)
    }
}
@media (min-width: 992px){
    .c-banner-hp__right{
        justify-content:center;
        align-items:center;
        flex:50%
    }
}
@media (min-width: 768px) and (max-width: 991.98px){
    .c-banner-hp__right{
        width:100%
    }
}
.c-banner-hp__service-outer-wrapper{
    display:flex;
    flex-direction:column
}
@media (min-width: 768px) and (max-width: 991.98px){
    .c-banner-hp__service-outer-wrapper{
        flex-direction:row;
        width:100%
    }
}
@media (min-width: 768px) and (max-width: 991.98px){
    .c-banner-hp__service-wrapper{
        flex:33.33%;
        margin-top:0 !important
    }
    .c-banner-hp__service-wrapper:not(:first-child){
        margin-left:var(--gutter)
    }
}
@media (min-width: 992px){
    .c-banner-hp__service-wrapper{
        display:flex
    }
}
.c-banner-hp__service-wrapper:not(:first-child){
    margin-top:var(--space-l)
}
.c-banner-hp__service-title{
    position:relative;
    display:inline-block;
    flex-shrink:0;
    font-family:var(--font-family-mono)
}
@media (min-width: 992px){
    .c-banner-hp__service-title{
        top:-0.25em;
        width:12.5ch;
        margin-right:var(--gutter);
        text-align:right
    }
}
@media (max-width: 991.98px){
    .c-banner-hp__service-title{
        margin-bottom:var(--space-s)
    }
}
.c-banner-hp__service-item{
    color:var(--color-gray-01);
    font-size:var(--step-5)
}
@media (min-width: 768px) and (max-width: 991.98px){
    .c-banner-hp__service-item{
        font-size:var(--step-4)
    }
}
.c-banner-hp__service-item:not(:first-child){
    margin-top:0.2em
}
@media (min-width: 992px){
    .c-banner-hp__service-item:not(:first-child){
        margin-top:0.1em
    }
}
.c-banner-hp__image{
    position:absolute;
    z-index:-1;
    top:-9.5vh;
    right:0;
    bottom:-9.5vh;
    left:0;
    background-position:center;
    background-repeat:no-repeat;
    background-size:cover
}
.c-banner-services__main-wrapper{
    position:relative;
    overflow:hidden
}
.c-banner-services__main-wrapper .o-container{
    position:relative;
    z-index:1
}
.c-banner-services__wrapper{
    display:flex;
    flex-direction:column;
    min-height:calc(var(--initial-vh) * 100)
}
@media (max-width: 767.98px){
    .c-banner-services__wrapper{
        min-height:calc(var(--initial-vh) * 80);
        margin-left:calc(var(--container-padding) / 2)
    }
}
@media (min-width: 768px){
    .c-banner-services__wrapper{
        justify-content:center
    }
}
.c-banner-services__title{
    max-width:12ch;
    margin-bottom:var(--space-l-xl);
    padding-top:var(--space-3xl);
    color:var(--color-orange) !important;
    font-size:var(--step-8)
}
@media (min-width: 768px){
    .c-banner-services__title{
        padding-top:0;
        font-size:var(--step-9)
    }
}
@media (min-width: 1440px){
    .c-banner-services__title{
        font-size:var(--step-10)
    }
}
.c-banner-services__cta{
    color:var(--color-white)
}
.c-banner-services__image-wrapper{
    position:absolute;
    top:var(--banner-padding);
    right:var(--banner-padding);
    bottom:var(--banner-padding);
    left:var(--banner-padding);
    overflow:hidden;
    background:var(--color-placeholder);
    border-radius:var(--banner-radius);
    -webkit-mask-image:radial-gradient(#fff, #000);
    mask-image:radial-gradient(#fff, #000)
}
.c-banner-services__image{
    position:absolute;
    z-index:1;
    top:-5vh;
    right:0;
    bottom:-5vh;
    left:0
}
.c-clients__title{
    color:var(--color-gray-01);
    font-size:var(--step-8)
}
@media (min-width: 768px){
    .c-clients__title{
        font-size:var(--step-9)
    }
}
@media (min-width: 1440px){
    .c-clients__title{
        font-size:var(--step-10)
    }
}
.c-clients__subtitle{
    margin-top:var(--space-l);
    font-size:var(--step-1)
}
.c-clients__row{
    position:relative;
    display:flex;
    height:20vw;
    margin-top:var(--space-2xl-3xl)
}
@media (min-width: 768px){
    .c-clients__row{
        height:10vw
    }
}
.c-clients__row + .c-clients__row{
    margin-top:var(--gutter)
}
@media (min-width: 768px){
    .c-clients__row + .c-clients__row{
        margin-top:0
    }
}
.c-clients__row-outer-wrapper{
    display:flex;
    flex-shrink:0;
    height:100%
}
.c-clients__row:nth-child(odd) .c-clients__row-outer-wrapper{
    transform:translateX(calc((-50% + 100vw) * var(--slide-amount)))
}
.c-clients__row:nth-child(even) .c-clients__row-outer-wrapper{
    transform:translateX(calc(-50% + 100vw - (-50% + 100vw) * var(--slide-amount)))
}
.c-clients__row-inner-wrapper{
    display:flex;
    flex-shrink:0;
    height:100%
}
.c-clients__row:nth-child(odd) .c-clients__row-inner-wrapper{
    animation:70s linear infinite marquee-top
}
.c-clients__row:nth-child(even) .c-clients__row-inner-wrapper{
    animation:70s linear infinite marquee-bottom
}
.c-clients__row-item-wrapper{
    display:flex;
    flex-shrink:0;
    height:100%
}
.c-clients__row-item-wrapper::before,.c-clients__row-item-wrapper::after{
    display:block;
    width:calc(var(--gutter) / 2);
    height:100%;
    content:""
}
.c-clients__row-item{
    position:relative;
    height:100%;
    font-size:var(--step-3)
}
.c-clients__row-item span{
    position:absolute;
    z-index:1;
    top:50%;
    left:50%;
    color:var(--color-white);
    transform:translate(-50%, -50%)
}
.c-clients__row-item svg{
    width:auto;
    height:100%
}
.c-clients__image{
    --padding:0%;
    position:absolute;
    top:var(--padding);
    right:var(--padding);
    bottom:var(--padding);
    left:var(--padding);
    pointer-events:none
}
@media (min-width: 768px){
    .c-clients__image{
        --padding:10%
    }
}
@media (min-width: 1440px){
    .c-clients__image{
        --padding:15%
    }
}
@keyframes marquee-top{
    0%{
        transform:translateX(0)
    }
    100%{
        transform:translateX(-100%)
    }
}
@keyframes marquee-bottom{
    0%{
        transform:translateX(-100%)
    }
    100%{
        transform:translateX(0)
    }
}
.c-gallery-people .flickity-viewport{
    overflow:initial
}
.c-gallery-people__title{
    font-size:var(--step-7)
}
@media (min-width: 768px){
    .c-gallery-people__title{
        font-size:var(--step-8)
    }
}
@media (min-width: 992px){
    .c-gallery-people__title{
        font-size:var(--step-9)
    }
}
@media (min-width: 1440px){
    .c-gallery-people__title{
        font-size:var(--step-10)
    }
}
.c-gallery-people__cta{
    margin-top:var(--space-l)
}
.c-gallery-people__gallery{
    margin-top:var(--space-2xl)
}
.c-gallery-people__item-wrapper{
    width:80%;
    margin-right:var(--gutter)
}
@media (min-width: 768px){
    .c-gallery-people__item-wrapper{
        width:30%
    }
}
.c-gallery-people__item-image{
    position:relative;
    overflow:hidden;
    padding-bottom:123.0769230769%;
    background:var(--color-placeholder);
    border-radius:var(--banner-radius);
    transition:background 1s
}
.c-gallery-people__item-description{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    margin-top:var(--space-xs)
}
@media (min-width: 1440px){
    .c-gallery-people__item-description{
        flex-direction:row;
        letter-spacing:-0.003em
    }
}
.c-gallery-people__item-name{
    font-family:var(--font-family-mono)
}
.c-gallery-people__item-role{
    color:var(--color-orange);
    font-family:var(--font-family-mono)
}
.c-gallery-people__image{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0
}
.c-header-about__title{
    margin-left:auto;
    color:var(--color-black);
    font-size:var(--step-8);
    text-align:left
}
@media (min-width: 768px){
    .c-header-about__title{
        font-size:var(--step-9)
    }
}
@media (min-width: 992px){
    .c-header-about__title{
        font-size:var(--step-10)
    }
}
@media (min-width: 1440px){
    .c-header-about__title{
        font-size:160px
    }
}
.c-header-contact{
    color:var(--color-white);
    background:var(--color-black)
}
.c-header-contact a:hover{
    text-decoration:none
}
.c-header-contact__title{
    position:relative;
    overflow:hidden;
    color:var(--color-gray-01);
    font-size:var(--step-8);
    text-align:right;
    will-change:transform;
    transition:transform 2s cubic-bezier(0.86, 0, 0.07, 1)
}
@media (min-width: 768px){
    .c-header-contact__title{
        font-size:var(--step-9)
    }
}
@media (min-width: 992px){
    .c-header-contact__title{
        font-size:var(--step-10)
    }
}
@media (min-width: 1440px){
    .c-header-contact__title{
        font-size:160px
    }
}
.c-header-contact__title span::before{
    content:attr(data-text);
    position:absolute;
    transform:translateY(100%)
}
.c-header-contact__title span{
    display:block;
    transition:transform 2s 1s cubic-bezier(0.86, 0, 0.07, 1)
}
.intro-quasi-complete .is-inview .c-header-contact__title span{
    transform:translateY(-100%)
}
.c-header-contact__info{
    --gutter-y:var(--space-xl);
    padding:var(--space-3xl) 0 var(--space-6xl) 0
}
.c-header-contact__text{
    max-width:40ch;
    font-size:var(--step-2)
}
@media (min-width: 992px){
    .c-header-contact__text{
        --column-span:5;
        --column-start:1;
        position:relative;
        top:-0.4em;
        font-size:var(--step-3)
    }
}
@media (min-width: 768px){
    .c-header-contact__info-list{
        --column-span:8;
        --column-start:1;
        display:flex
    }
}
@media (min-width: 992px){
    .c-header-contact__info-list{
        --column-span:6;
        --column-start:7
    }
}
.c-header-contact__item{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    width:100%;
    border-top:1px solid var(--color-gray-04)
}
@media (min-width: 768px){
    .c-header-contact__item{
        margin-bottom:0
    }
    .c-header-contact__item:not(:first-child){
        margin-left:var(--gutter)
    }
}
@media (max-width: 767.98px){
    .c-header-contact__item:not(:first-child){
        margin-top:var(--space-l)
    }
}
.c-header-contact__item-title{
    margin-bottom:var(--space-s);
    padding-top:var(--space-m);
    color:var(--color-gray-03);
    font-family:var(--font-family-mono);
    font-size:var(--step-0);
    font-weight:400
}
@media (min-width: 768px){
    .c-header-contact__item-title{
        margin-bottom:var(--space-m)
    }
}
.c-header-contact__item-text{
    text-shadow:0.03em 0 var(--color-black),-0.03em 0 var(--color-black),0 0.03em var(--color-black),0 -0.03em var(--color-black),0.06em 0 var(--color-black),-0.06em 0 var(--color-black),0.09em 0 var(--color-black),-0.09em 0 var(--color-black),0.12em 0 var(--color-black),-0.12em 0 var(--color-black),0.15em 0 var(--color-black),-0.15em 0 var(--color-black);
    display:flex;
    flex-direction:column;
    font-size:var(--step-1)
}
.c-header-hp{
    --media-overflow:2vh;
    position:relative;
    overflow:hidden;
    height:calc(var(--initial-vh) * 100)
}
.c-header-hp video{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    -o-object-fit:cover;
    object-fit:cover;
    opacity:0
}
@media (max-width: 767.98px){
    .c-header-hp video{
        top:50%;
        left:50%;
        width:calc(100% + var(--media-overflow) * 2);
        height:calc(100% + var(--media-overflow) * 2);
        transform:translate(-50%, -50%)
    }
}
.c-header-hp.video-playing video{
    opacity:1
}
.c-header-hp__wrapper{
    --padding:var(--banner-padding);
    position:absolute;
    top:var(--padding);
    right:var(--padding);
    bottom:var(--padding);
    left:var(--padding);
    overflow:hidden;
    border-radius:var(--banner-radius);
    -webkit-mask-image:radial-gradient(#fff, #000);
    mask-image:radial-gradient(#fff, #000)
}
.c-header-hp__media{
    position:absolute;
    z-index:-1;
    top:0;
    right:0;
    bottom:0;
    left:0;
    background:var(--color-placeholder)
}
.c-header-hp__content-wrapper{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    z-index:1000;
    display:flex;
    align-items:flex-end
}
.c-header-hp__content{
    display:flex;
    flex-direction:column;
    width:100%;
    padding-bottom:var(--space-xl);
    opacity:1;
    transition:opacity 0.5s
}
@media (min-width: 768px){
    .c-header-hp__content{
        flex-direction:row-reverse;
        justify-content:space-between;
        align-items:flex-end;
        padding-bottom:var(--container-padding)
    }
}
.c-header-hp__title{
    --line-height:0.85;
    color:var(--color-orange) !important;
    font-size:var(--step-9);
    line-height:var(--line-height) !important;
    text-align:right
}
@media (min-width: 768px){
    .c-header-hp__title{
        font-size:var(--step-10)
    }
}
@media (min-width: 992px){
    .c-header-hp__title{
        font-size:160px
    }
}
@media (min-width: 1960px){
    .c-header-hp__title{
        font-size:180px
    }
}
@media (min-width: 2400px){
    .c-header-hp__title{
        font-size:200px
    }
}
.c-header-hp__title > div:last-child{
    overflow:hidden;
    height:calc(1em * var(--line-height))
}
.c-intro .c-header-hp__title .o-reveal{
    opacity:0;
    transition:transform 1s calc(var(--index) * 0.075s + 0.05s),opacity 0.75s calc(var(--index) * 0.075s + 0.1s);
    transform:translateY(var(--space-4xl))
}
@media (max-width: 767.98px){
    .c-intro .c-header-hp__title .o-reveal{
        transform:translateY(var(--space-2xl))
    }
}
.intro-text-reveal .c-intro .c-header-hp__title .o-reveal{
    transform:none;
    opacity:1
}
.c-header-hp__subtitle{
    max-width:25ch;
    padding-top:var(--space-xl);
    color:var(--color-white);
    font-family:var(--font-family-mono)
}
@media (min-width: 768px){
    .c-header-hp__subtitle{
        max-width:32ch
    }
}
.c-intro .c-header-hp__subtitle .o-reveal{
    opacity:0;
    transition:transform 1s calc(var(--index) * 0.075s),opacity 1s calc(var(--index) * 0.075s);
    transform:translateY(var(--space-l))
}
.intro-text-reveal .c-intro .c-header-hp__subtitle .o-reveal{
    transform:none;
    opacity:1
}
.c-header-hp__scroll{
    --animation-duration:3s;
    --animation-delay:0.1s;
    position:absolute;
    right:var(--container-padding);
    bottom:calc(var(--space-xl) * 1.1);
    overflow:hidden;
    width:8px;
    height:20px;
    border-radius:2px;
    opacity:0;
    will-change:transform;
    transition:opacity 0.5s
}
@media (min-width: 768px){
    .c-header-hp__scroll{
        bottom:var(--container-padding);
        transform:translateX(-50%);
        left:50%
    }
}
.intro-complete .c-header-hp__scroll{
    opacity:1
}
.c-header-hp__scroll::before,.c-header-hp__scroll::after{
    position:absolute;
    top:0;
    left:50%;
    transform:rotate(10deg) translate(-50%, -100%);
    width:200%;
    height:100%;
    content:""
}
.c-header-hp__scroll::before{
    background:var(--color-orange);
    animation:var(--animation-duration) cubic-bezier(0.55, 0.085, 0.68, 0.53) 0s infinite scroll-in
}
.c-header-hp__scroll::after{
    background:var(--color-white);
    animation:var(--animation-duration) cubic-bezier(0.25, 0.46, 0.45, 0.94) calc(var(--animation-duration) / 2) infinite scroll-out
}
.c-header-hp__scroll-div::before,.c-header-hp__scroll-div::after{
    position:absolute;
    top:0;
    left:50%;
    transform:scaleY(1.1) rotate(10deg) translate(-50%, -100%);
    width:200%;
    height:100%;
    content:""
}
.c-header-hp__scroll-div::before{
    background:var(--color-white);
    animation:var(--animation-duration) cubic-bezier(0.55, 0.085, 0.68, 0.53) var(--animation-delay) infinite scroll-in
}
.c-header-hp__scroll-div::after{
    background:var(--color-orange);
    animation:var(--animation-duration) cubic-bezier(0.25, 0.46, 0.45, 0.94) calc(var(--animation-duration) / 2 + var(--animation-delay)) infinite scroll-out
}
.c-header-hp__image-mobile,.c-header-hp__image-desktop{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    transition:0s !important
}
@media (max-width: 767.98px){
    .c-header-hp__image-mobile,.c-header-hp__image-desktop{
        top:calc(var(--media-overflow) * -1);
        right:calc(var(--media-overflow) * -1);
        bottom:calc(var(--media-overflow) * -1);
        left:calc(var(--media-overflow) * -1)
    }
}
@media (min-width: 768px){
    .c-header-hp__image-mobile{
        display:none
    }
}
@media (max-width: 767.98px){
    .c-header-hp__image-desktop{
        display:none
    }
}
@keyframes scroll-in{
    0%{
        transform:scaleY(1.3) rotate(20deg) translate(-50%, -100%)
    }
    50%{
        transform:scaleY(1.3) rotate(0deg) translate(-50%, 9%)
    }
    51%{
        transform:scaleY(1.3) rotate(20deg) translate(-50%, -100%)
    }
    100%{
        transform:scaleY(1.3) rotate(20deg) translate(-50%, -100%)
    }
}
@keyframes scroll-out{
    0%{
        transform:scaleY(1.3) rotate(0deg) translate(-50%, 0%)
    }
    50%{
        transform:scaleY(1.3) rotate(20deg) translate(-50%, 115%)
    }
    51%{
        transform:scaleY(1.3) rotate(20deg) translate(-50%, 115%)
    }
    100%{
        transform:scaleY(1.3) rotate(20deg) translate(-50%, 115%)
    }
}
.c-header-work__media{
    padding-bottom:35%;
    background:var(--color-placeholder)
}
.c-header-work__content{
    margin-top:var(--space-xl)
}
@media (min-width: 768px){
    .c-header-work__heading{
        --column-span:7
    }
}
@media (min-width: 992px){
    .c-header-work__heading{
        --column-span:6
    }
}
.c-header-work__title{
    font-size:var(--step-7)
}
.c-header-work__subtitle{
    margin-top:var(--space-s);
    font-size:var(--step-1);
    font-weight:400
}
.c-header-work__description{
    font-size:var(--step-1)
}
@media (min-width: 768px){
    .c-header-work__description{
        --column-span:5;
        --column-start:8
    }
}
.c-image-grid__inner-wrapper{
    border-radius:var(--banner-radius);
    -webkit-mask-image:radial-gradient(#fff, #000);
    mask-image:radial-gradient(#fff, #000)
}
@media (min-width: 768px){
    .c-image-grid__outer-wrapper:nth-child(1){
        --column-span:5
    }
}
.c-image-grid__outer-wrapper:nth-child(1) .c-image-grid__inner-wrapper{
    position:relative;
    overflow:hidden;
    padding-bottom:142.8571428571%;
    background:var(--color-placeholder);
    transform:background 1s
}
@media (min-width: 768px){
    .c-image-grid__outer-wrapper:nth-child(2){
        --column-span:7;
        --column-start:6
    }
}
.c-image-grid__outer-wrapper:nth-child(2) .c-image-grid__inner-wrapper{
    position:relative;
    overflow:hidden;
    padding-bottom:66.6666666667%;
    background:var(--color-placeholder);
    transform:background 1s
}
.c-image-grid__image{
    position:absolute;
    top:-9vh;
    right:0;
    bottom:-9vh;
    left:0;
    background-position:center;
    background-repeat:no-repeat;
    background-size:cover
}
.c-image__wrapper{
    position:relative
}
@media (max-width: 767.98px){
    .c-image__wrapper{
        height:calc(var(--initial-vh) * 80)
    }
}
@media (max-width: 767.98px){
    .c-image__image{
        display:none
    }
}
.c-image__image-bg{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    background-position:center;
    background-repeat:no-repeat;
    background-size:cover
}
@media (min-width: 768px){
    .c-image__image-bg{
        display:none
    }
}
.c-info-list__title{
    margin-bottom:var(--space-xl);
    font-size:var(--step-5)
}
.c-info-list__item-list{
    --gutter-y:var(--space-m)
}
@media (min-width: 768px){
    .c-info-list__item-list{
        --gutter-y:var(--space-l)
    }
}
@media (min-width: 992px){
    .c-info-list__item-list{
        --gutter-y:var(--space-xl)
    }
}
@media (min-width: 768px){
    .c-info-list__item{
        --column-span:6
    }
    .c-info-list__item:nth-child(1),.c-info-list__item:nth-child(2){
        padding-top:var(--space-m);
        border-top:1px solid var(--color-gray-02)
    }
}
@media (min-width: 1440px){
    .c-info-list__item{
        --column-span:3
    }
    .c-info-list__item:nth-child(1),.c-info-list__item:nth-child(2),.c-info-list__item:nth-child(3),.c-info-list__item:nth-child(4){
        padding-top:var(--space-m);
        border-top:1px solid var(--color-gray-02)
    }
}
.c-info-list__item:nth-child(1){
    padding-top:var(--space-m);
    border-top:1px solid var(--color-gray-02)
}
.c-info-list__item-title{
    margin-bottom:var(--space-s);
    color:var(--color-gray-03);
    font-family:var(--font-family-mono);
    font-size:var(--step-0);
    font-weight:400
}
.c-info-list__item-text{
    font-size:var(--step-1)
}
.c-intro{
    --media-overflow:2vh;
    position:absolute;
    z-index:9999;
    top:0;
    left:0;
    width:100vw;
    height:calc(var(--initial-vh) * 100);
    background-color:var(--color-black);
    transition:background 0s 2s
}
.tpl-home .c-intro{
    z-index:0
}
.c-intro::before{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    background-color:var(--color-white);
    opacity:0;
    transition:opacity 0.75s 0.6s;
    content:""
}
.intro-after-start body:not(.tpl-home) .c-intro::before{
    opacity:0 !important
}
.intro-start .c-intro::before{
    opacity:1
}
.intro-start .c-intro,.intro-complete .c-intro{
    background:transparent
}
.intro-complete .c-intro{
    pointer-events:none
}
.c-intro__wrapper-loading{
    position:relative;
    height:calc(100vh - var(--container-padding) * 2);
    margin-top:var(--container-padding);
    margin-right:var(--container-padding);
    margin-left:var(--container-padding);
    border:1px solid var(--color-gray-04);
    border-radius:var(--banner-radius);
    transition:opacity 0s 2s,transform 2s cubic-bezier(0.23, 1, 0.32, 1)
}
@media (max-width: 767.98px){
    .c-intro__wrapper-loading{
        height:calc(var(--initial-vh) * 100 - var(--banner-padding) * 2);
        margin-top:var(--banner-padding);
        margin-right:var(--banner-padding);
        margin-left:var(--banner-padding);
        transition:opacity 0s 2s,transform 2.5s cubic-bezier(0.23, 1, 0.32, 1)
    }
}
html:not(.dom-loaded) .c-intro__wrapper-loading{
    transform:scale(1.1)
}
.intro-start .c-intro__wrapper-loading,.intro-complete .c-intro__wrapper-loading{
    opacity:0
}
.intro-start .c-intro__wrapper-loading{
    transform:scale(0.85)
}
.c-intro__logo{
    --logo-height:calc(var(--space-2xl) * 3);
    --logo-width:calc(120 / 81 * var(--logo-height));
    position:absolute;
    top:47.5%;
    left:50%;
    width:var(--logo-width);
    height:var(--logo-height);
    color:var(--color-white);
    transform:translate(-50%, -50%)
}
@media (max-width: 767.98px){
    .c-intro__logo{
        top:49.5%
    }
}
.c-intro__loading{
    position:absolute;
    bottom:var(--space-m);
    display:flex;
    align-items:center;
    width:calc(100% - var(--space-l) * 2);
    margin-right:var(--space-l);
    margin-left:var(--space-l);
    color:var(--color-gray-01);
    font-family:var(--font-family-mono)
}
@media (max-width: 767.98px){
    .c-intro__loading{
        bottom:var(--banner-padding);
        width:calc(100% - var(--banner-padding) * 4);
        margin-left:calc(var(--banner-padding) * 2)
    }
}
.c-intro__text{
    white-space:nowrap
}
@media (max-width: 767.98px){
    .c-intro__text span{
        display:none
    }
}
.c-intro__line{
    width:100%;
    height:1px;
    margin-right:var(--space-l);
    margin-left:var(--space-l);
    background:currentcolor;
    transform-origin:0 0;
    transform:scaleX(0);
    transition:transform 1s cubic-bezier(0.23, 1, 0.32, 1)
}
@media (max-width: 767.98px){
    .c-intro__line{
        margin-right:calc(var(--banner-padding) * 2);
        margin-left:calc(var(--banner-padding) * 2)
    }
}
.c-intro__counter span:last-child::before{
    content:"/"
}
.c-intro__card-list{
    --timing-function-wrapper:cubic-bezier(0.75, 0, 0, 1);
    --timing-function-inner:cubic-bezier(0.4, 0, 0, 0.6);
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    overflow:visible;
    transform:translateY(100%);
    transition:transform 2s;
    transition-delay:2s;
    transition-timing-function:var(--timing-function-wrapper)
}
.intro-start .c-intro__card-list,.intro-complete .c-intro__card-list{
    transform:translateY(0)
}
.c-intro__card-container{
    transition:transform 3s;
    transition-timing-function:var(--timing-function-inner)
}
.intro-start .c-intro__card-container,.intro-complete .c-intro__card-container{
    transform:translateY(var(--translate-container, 0))
}
.c-intro__card-item::after{
    content:"";
    display:block;
    height:var(--banner-padding);
    background:var(--color-white)
}
body:not(.tpl-home) .c-intro__card-item:nth-last-child(2)::after{
    opacity:0
}
body:not(.tpl-home) .c-intro__card-item:nth-last-child(1)::after{
    opacity:0
}
body:not(.tpl-home) .c-intro__card-item:last-child{
    opacity:0
}
.c-intro__card-inner-item{
    position:relative;
    overflow:hidden;
    height:0;
    margin-right:var(--banner-padding);
    margin-left:var(--banner-padding);
    padding-bottom:30%;
    border-radius:var(--banner-radius);
    will-change:transform
}
@media (max-width: 767.98px){
    .c-intro__card-inner-item{
        padding-bottom:50%
    }
}
.c-intro__card-item:last-child .c-intro__card-inner-item{
    height:calc(var(--initial-vh) * 100 - var(--banner-padding) * 2);
    padding-bottom:0
}
.c-intro__image{
    --padding:25vh;
    position:absolute;
    top:0;
    right:0;
    bottom:calc(var(--padding) * -1);
    left:0;
    background-position:50% 50%;
    background-repeat:no-repeat;
    background-size:cover;
    opacity:1;
    transition:transform 4s;
    transform:translateY(calc(var(--padding) * -1))
}
@media (min-width: 992px){
    .c-intro__image{
        --padding:80vh;
        background-position:50% 75%
    }
}
.c-intro__image.c-intro__image--desktop{
    display:none
}
@media (min-width: 768px){
    .c-intro__image.c-intro__image--desktop{
        display:block
    }
}
@media (min-width: 768px){
    .c-intro__image.c-intro__image--mobile{
        display:none
    }
}
.c-intro__card-item:last-child .c-intro__image{
    top:0;
    bottom:0;
    background-position:50% 50%;
    transform:translateY(-150vh)
}
@media (max-width: 767.98px){
    .c-intro__card-item:last-child .c-intro__image{
        top:calc(var(--media-overflow) * -1);
        right:calc(var(--media-overflow) * -1);
        bottom:calc(var(--media-overflow) * -1);
        left:calc(var(--media-overflow) * -1)
    }
}
.intro-start .c-intro__image,.intro-complete .c-intro__image{
    transform:translateY(0) !important
}
.c-job-listing{
    padding-top:var(--space-m)
}
.c-job-listing:only-child{
    padding-bottom:50vh
}
.c-job-listing__label{
    margin-bottom:var(--space-m)
}
.c-job-listing__list-item{
    border-bottom:1px solid var(--color-gray-01)
}
.c-job-listing__list-item:first-child{
    border-top:1px solid var(--color-gray-01)
}
.c-job-listing__header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:var(--space-m) 0;
    cursor:pointer
}
.c-job-listing__title{
    font-size:var(--step-6)
}
.c-job-listing__icon{
    transition:transform 1s cubic-bezier(0.23, 1, 0.32, 1)
}
.is-active .c-job-listing__icon{
    transform:rotate(180deg)
}
.c-job-listing__body{
    overflow:hidden;
    height:0
}
.c-job-listing__body-outer-wrapper{
    padding-bottom:var(--space-m)
}
.c-job-listing__body-inner-wrapper{
    max-width:60ch
}
@media (min-width: 768px){
    .c-job-listing__body-inner-wrapper{
        --column-span:8
    }
}
@media (min-width: 992px){
    .c-job-listing__body-inner-wrapper{
        --column-span:7;
        --column-start:6
    }
}
@media (min-width: 1440px){
    .c-job-listing__body-inner-wrapper{
        --column-span:6;
        --column-start:7
    }
}
@media (min-width: 1960px){
    .c-job-listing__body-inner-wrapper{
        --column-span:4;
        --column-start:7
    }
}
.c-job-listing__body-inner-wrapper > *:not(:first-child){
    margin-top:var(--space-m)
}
.c-job-listing__text{
    position:relative;
    z-index:1;
    max-width:40ch;
    margin-top:var(--space-xl);
    font-size:var(--step-2)
}
@media (min-width: 768px){
    .c-job-listing__text{
        font-size:var(--step-3)
    }
}
.c-job-listing__text a{
    position:relative;
    z-index:1;
    color:var(--color-orange)
}
.c-job-listing__text a:hover{
    text-decoration:none
}
.c-job-listing__text a::before{
    height:2px !important
}
.c-overlay .c-job-listing__text a{
    text-shadow:0.03em 0 var(--color-white),-0.03em 0 var(--color-white),0 0.03em var(--color-white),0 -0.03em var(--color-white),0.06em 0 var(--color-white),-0.06em 0 var(--color-white),0.09em 0 var(--color-white),-0.09em 0 var(--color-white),0.12em 0 var(--color-white),-0.12em 0 var(--color-white),0.15em 0 var(--color-white),-0.15em 0 var(--color-white)
}
.c-job-listing__body-description{
    font-size:var(--step-1)
}
.c-job-listing__body-sub-description{
    font-size:var(--step-1)
}
.c-job-listing__body-sub-description ul{
    list-style:inside
}
.c-logo{
    width:var(--logo-width);
    height:var(--logo-height);
    color:var(--color-black);
    transition:color 1s cubic-bezier(0.23, 1, 0.32, 1) 0s
}
.c-logo svg{
    fill:currentcolor
}
.is-transitioning .c-logo{
    transition-delay:0.95s !important
}
.theme-black .c-logo,.list-layout body.tpl-works .c-logo{
    color:var(--color-white) !important;
    transition:color 1s cubic-bezier(0.23, 1, 0.32, 1) 0s
}
.tpl-home .c-logo,.tpl-contact .c-logo{
    color:var(--color-white)
}
.change-color .tpl-home .c-logo{
    color:var(--color-black)
}
.c-media-list__wrapper{
    --flow:var(--container-padding)
}
@media (min-width: 768px){
    .c-media-list__wrapper{
        --flow:var(--space-xl-2xl)
    }
}
.c-media-list__item{
    --gutter-y:0
}
@media (min-width: 768px){
    .c-media-list__item:nth-child(odd){
        --column-start:4;
        --column-span:9
    }
    .c-media-list__item:nth-child(even){
        --column-start:1;
        --column-span:6
    }
}
.c-media-list__item .c-media.has-player{
    --column-start:1;
    --column-span:12
}
.c-media-list__item-title{
    --column-start:1;
    --column-span:12;
    margin-bottom:var(--space-xl);
    font-size:var(--step-5)
}
@media (max-width: 767.98px){
    .c-media-list__item:not(:first-child) .c-media-list__item-title{
        margin-top:var(--space-xl)
    }
}
.c-media .o-container{
    position:relative;
    overflow:hidden
}
.c-media *{
    -webkit-user-select:none;
    -moz-user-select:none;
    user-select:none
}
.c-media .video-js{
    height:100%
}
.c-media :not(.vjs-has-started) .vjs-control-bar{
    display:flex
}
.c-overlay .c-media{
    margin-right:var(--banner-padding);
    margin-left:var(--banner-padding)
}
.c-overlay .c-media .o-container{
    padding-right:0;
    padding-left:0
}
.c-media-list .c-media .o-container{
    padding-right:0;
    padding-left:0
}
.c-media__wrapper{
    position:relative;
    overflow:hidden;
    padding-bottom:calc(var(--aspect-ratio, 0.5) * 100%);
    background:var(--color-placeholder);
    border-radius:var(--banner-radius);
    transition:background 1s;
    will-change:transform
}
.is-ios .c-media__wrapper{
    height:calc(var(--initial-vh) * 80);
    padding-bottom:0
}
.c-media.preserve-aspect-ratio .c-media__wrapper{
    height:0 !important;
    padding-bottom:calc(var(--aspect-ratio, 0.5) * 100%) !important
}
html:not(.is-ios).is-mobile .c-media:not(.has-player) .c-media__wrapper{
    height:calc(var(--initial-vh) * 80);
    padding-bottom:0;
    background:var(--color-placeholder)
}
@media (max-width: 767.98px){
    .c-media:not(.has-player) .c-media__wrapper{
        height:calc(var(--initial-vh) * 80)
    }
}
.is-ios .c-header-work .c-media__wrapper{
    height:calc(var(--initial-vh) * 40)
}
.c-media h5.c-media__text{
    position:absolute;
    pointer-events:none;
    z-index:3;
    bottom:var(--space-xl);
    left:50%;
    width:100%;
    max-width:28ch;
    padding:0 var(--space-m);
    color:var(--color-orange) !important;
    font-size:var(--step-7);
    text-align:center;
    transform:translate(-50%);
    will-change:transform
}
@media (min-width: 768px){
    .c-media h5.c-media__text{
        bottom:var(--container-padding)
    }
}
@media (min-width: 768px) and (max-width: 1439.98px){
    .c-media-list .c-media h5.c-media__text{
        font-size:var(--step-5)
    }
}
.c-media__video-wrapper{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    opacity:0
}
html:not(.is-ios).is-mobile .player-ready .c-media__video-wrapper{
    opacity:1
}
.clicked .c-media__video-wrapper{
    opacity:1
}
.c-media__videoloop-wrapper{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    z-index:2;
    opacity:0;
    transition:opacity 1s 0.1s;
    pointer-events:none
}
.loop-playing .c-media__videoloop-wrapper{
    opacity:1
}
html:not(.is-ios) .clicked .c-media__videoloop-wrapper{
    opacity:0;
    transition:opacity 0.1s
}
html:not(.is-ios).is-mobile .has-player .c-media__videoloop-wrapper{
    opacity:0;
    transition:opacity 0s
}
.c-media__cta-wrapper{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    pointer-events:none
}
html:not(.is-ios).is-mobile .c-media__cta-wrapper{
    opacity:0
}
.c-media__cta{
    position:absolute;
    top:50%;
    left:calc(var(--container-padding) * 2);
    display:flex;
    align-items:center;
    overflow:hidden;
    pointer-events:none;
    will-change:transform;
    transform:translateY(-50%)
}
.c-overlay .c-media__cta{
    left:calc(var(--container-padding) * 1)
}
.c-media__cta-bullet{
    position:relative;
    display:block;
    overflow:hidden;
    will-change:transform;
    width:10px;
    height:20px;
    margin-right:calc(var(--container-padding) / 1.1);
    border-radius:3px
}
@media (min-width: 768px){
    .c-media__cta-bullet{
        margin-right:var(--space-s-m)
    }
}
.c-media__cta-bullet::before{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    background:var(--color-white);
    content:"";
    transition:transform 1s 0.05s cubic-bezier(0.23, 1, 0.32, 1)
}
html:not(.is-ios) .clicked .c-media__cta-bullet::before{
    transform:translateY(-105%)
}
.c-media__cta h4.c-media__cta-text{
    color:var(--color-orange) !important;
    font-size:var(--step-6);
    transition:transform 1s cubic-bezier(0.23, 1, 0.32, 1)
}
html:not(.is-ios) .clicked .c-media__cta h4.c-media__cta-text{
    transform:translateY(-105%)
}
.c-media__image{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    z-index:1;
    pointer-events:none
}
html:not(.is-ios) .clicked .c-media__image{
    opacity:0;
    transition:opacity 0.1s
}
html:not(.is-ios).is-mobile .has-player .c-media__image{
    opacity:0
}
.c-mouse-move{
    position:fixed;
    z-index:9995;
    top:0;
    right:0;
    bottom:0;
    left:0;
    pointer-events:none
}
.c-mouse-move__media-container{
    --width:50vw;
    --height:20vw;
    --rotate:5deg;
    position:absolute;
    top:5%;
    left:5%;
    overflow:hidden;
    width:var(--width);
    height:var(--height);
    border-radius:var(--banner-radius);
    opacity:0;
    transition:opacity 1s cubic-bezier(0.23, 1, 0.32, 1)
}
.list-layout body.tpl-works .c-mouse-move__media-container{
    opacity:1
}
.c-mouse-move__media-rotate-wrapper{
    display:flex;
    justify-content:center;
    align-items:center;
    height:100%;
    transform:rotate(var(--rotate, 5deg))
}
.c-mouse-move__media-overflow-wrapper{
    flex-shrink:0;
    overflow:hidden;
    transition:transform 1s cubic-bezier(0.23, 1, 0.32, 1);
    transform:translateY(-102%) rotate(2deg) scale(0.85);
    transform-origin:0 0
}
.list-layout.works-hover .c-mouse-move__media-overflow-wrapper{
    transform:translateY(0%) rotate(0deg) scale(1)
}
.c-mouse-move__media-reverse-wrapper{
    display:flex;
    justify-content:center;
    align-items:center;
    height:100%;
    transition:transform 1s cubic-bezier(0.23, 1, 0.32, 1);
    transform:translateY(102%) rotate(calc(var(--rotate) * -1))
}
.list-layout.works-hover .c-mouse-move__media-reverse-wrapper{
    transform:translateY(0) rotate(calc(var(--rotate) * -1))
}
.c-mouse-move__media-inner-wrapper{
    position:relative;
    overflow:hidden;
    will-change:transform;
    width:var(--width);
    height:var(--height)
}
.c-mouse-move__media-inner-wrapper::before{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    display:block;
    background:var(--color-black);
    transition:transform 1.25s cubic-bezier(0.23, 1, 0.32, 1);
    content:"";
    transform:translateY(20%)
}
.list-layout.works-hover .c-mouse-move__media-inner-wrapper::before{
    transform:translateY(0)
}
.c-mouse-move__media-image{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    opacity:0 !important;
    transition:transform 1.25s cubic-bezier(0.23, 1, 0.32, 1),opacity 0.5s;
    transform:translateY(20%)
}
.list-layout.works-hover .c-mouse-move__media-image{
    transform:none
}
[show="1"] .c-mouse-move__media-image:nth-child(1){
    opacity:1 !important
}
[show="2"] .c-mouse-move__media-image:nth-child(2){
    opacity:1 !important
}
[show="3"] .c-mouse-move__media-image:nth-child(3){
    opacity:1 !important
}
[show="4"] .c-mouse-move__media-image:nth-child(4){
    opacity:1 !important
}
[show="5"] .c-mouse-move__media-image:nth-child(5){
    opacity:1 !important
}
[show="6"] .c-mouse-move__media-image:nth-child(6){
    opacity:1 !important
}
[show="7"] .c-mouse-move__media-image:nth-child(7){
    opacity:1 !important
}
[show="8"] .c-mouse-move__media-image:nth-child(8){
    opacity:1 !important
}
[show="9"] .c-mouse-move__media-image:nth-child(9){
    opacity:1 !important
}
[show="10"] .c-mouse-move__media-image:nth-child(10){
    opacity:1 !important
}
[show="11"] .c-mouse-move__media-image:nth-child(11){
    opacity:1 !important
}
[show="12"] .c-mouse-move__media-image:nth-child(12){
    opacity:1 !important
}
[show="13"] .c-mouse-move__media-image:nth-child(13){
    opacity:1 !important
}
[show="14"] .c-mouse-move__media-image:nth-child(14){
    opacity:1 !important
}
[show="15"] .c-mouse-move__media-image:nth-child(15){
    opacity:1 !important
}
[show="16"] .c-mouse-move__media-image:nth-child(16){
    opacity:1 !important
}
[show="17"] .c-mouse-move__media-image:nth-child(17){
    opacity:1 !important
}
[show="18"] .c-mouse-move__media-image:nth-child(18){
    opacity:1 !important
}
[show="19"] .c-mouse-move__media-image:nth-child(19){
    opacity:1 !important
}
[show="20"] .c-mouse-move__media-image:nth-child(20){
    opacity:1 !important
}
[show="21"] .c-mouse-move__media-image:nth-child(21){
    opacity:1 !important
}
[show="22"] .c-mouse-move__media-image:nth-child(22){
    opacity:1 !important
}
[show="23"] .c-mouse-move__media-image:nth-child(23){
    opacity:1 !important
}
[show="24"] .c-mouse-move__media-image:nth-child(24){
    opacity:1 !important
}
[show="25"] .c-mouse-move__media-image:nth-child(25){
    opacity:1 !important
}
[show="26"] .c-mouse-move__media-image:nth-child(26){
    opacity:1 !important
}
[show="27"] .c-mouse-move__media-image:nth-child(27){
    opacity:1 !important
}
[show="28"] .c-mouse-move__media-image:nth-child(28){
    opacity:1 !important
}
[show="29"] .c-mouse-move__media-image:nth-child(29){
    opacity:1 !important
}
[show="30"] .c-mouse-move__media-image:nth-child(30){
    opacity:1 !important
}
.c-overlay{
    --spacer:calc(100vh / 6);
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    left:0;
    z-index:9998;
    overflow:hidden;
    color:var(--color-black);
    pointer-events:none
}
.c-overlay.c-overlay--show{
    pointer-events:auto
}
.c-overlay__bg{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    background:#000;
    opacity:0;
    transition:opacity 1s
}
.c-overlay--show .c-overlay__bg{
    opacity:0.8
}
.c-overlay__wrapper{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    overflow:hidden;
    transition:transform 1s cubic-bezier(0.23, 1, 0.32, 1),opacity 1s
}
.c-overlay:not(.c-overlay--show) .c-overlay__wrapper{
    transform:translateY(100%)
}
.c-overlay__button{
    position:absolute;
    z-index:9997;
    bottom:var(--container-padding);
    left:50%;
    background:var(--color-orange);
    opacity:0;
    transition:opacity 0.3s,transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform:translateX(-50%);
    pointer-events:none
}
.c-overlay__button.is-active{
    pointer-events:auto;
    opacity:1
}
.c-overlay__button > span{
    display:block;
    overflow:hidden;
    will-change:transform
}
.c-overlay__button > span > span{
    display:block;
    transition:transform 1s cubic-bezier(0.23, 1, 0.32, 1)
}
.c-overlay__button span span::after{
    content:"close";
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, 70%);
    display:block
}
@media (hover: hover){
    .c-overlay__button:hover > span > span{
        transform:translateY(-120%)
    }
}
.c-overlay__scroll{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    min-height:100vh
}
.c-overlay:not(.c-overlay--show) .c-overlay__scroll{
    pointer-events:none !important
}
.c-overlay__spacer{
    height:var(--spacer);
    cursor:pointer
}
.c-overlay__content{
    min-height:calc(100vh - var(--spacer));
    padding-bottom:calc(var(--container-padding) * 3);
    background:var(--color-white)
}
.c-overlay__content .u-flow{
    opacity:0;
    transition:opacity 0.1s 1s
}
.c-overlay--loaded .c-overlay__content .u-flow{
    opacity:1;
    transition:opacity 0.75s
}
.c-overlay__content .c-media{
    padding-top:var(--banner-padding)
}
.c-servies-list{
    position:relative
}
.c-servies-list__switch-theme{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    pointer-events:none
}
@media (max-width: 767.98px){
    .c-servies-list__wrapper{
        --gutter-y:var(--space-2xl)
    }
}
.c-services-list__title{
    --column-span:12;
    font-size:var(--step-7)
}
@media (min-width: 768px){
    .c-services-list__title{
        font-size:var(--step-8)
    }
}
@media (min-width: 992px){
    .c-services-list__title{
        --column-span:4;
        font-size:var(--step-9)
    }
}
@media (min-width: 1440px){
    .c-services-list__title{
        font-size:var(--step-10)
    }
}
.c-services-list__item-list{
    --column-span:12
}
@media (min-width: 992px){
    .c-services-list__item-list{
        --column-span:7;
        --column-start:6;
        margin-top:0
    }
}
@media (min-width: 1440px){
    .c-services-list__item-list{
        --column-span:6;
        --column-start:7
    }
}
@media (min-width: 992px){
    .c-services-list__item{
        display:flex
    }
}
.c-services-list__item:not(:first-child){
    margin-top:var(--space-xl)
}
.c-services-list__item-title{
    font-size:var(--step-5);
    white-space:nowrap
}
@media (min-width: 992px){
    .c-services-list__item-title{
        flex-shrink:0;
        width:calc(var(--column-width-gutter) + var(--column-width));
        margin-right:var(--gutter)
    }
}
@media (min-width: 768px){
    .c-services-list__item-title{
        text-align:right
    }
}
.c-services-list__item-text{
    position:relative;
    font-size:var(--step-1)
}
@media (min-width: 992px){
    .c-services-list__item-text{
        top:-0.25em
    }
}
@media (max-width: 991.98px){
    .c-services-list__item-text{
        max-width:55ch;
        margin-top:var(--space-s)
    }
}
@media (min-width: 768px) and (max-width: 991.98px){
    .c-services-list__item-text{
        margin-left:auto;
        text-align:right
    }
}
.c-site-footer-bottom{
    display:flex;
    flex-direction:column;
    margin-top:var(--space-xl);
    padding:var(--space-l) 0;
    font-size:var(--step--1)
}
@media (min-width: 768px){
    .c-site-footer-bottom{
        flex-direction:row;
        align-items:center;
        padding:var(--space-m) 0;
        border-top:1px solid #3e3e3e
    }
    .c-banner-contact .c-site-footer-bottom{
        border-top:1px solid rgba(255, 255, 255, 0.3)
    }
}
.c-site-footer-bottom a:hover{
    text-decoration:none
}
.c-site-footer-bottom__logo{
    margin-right:var(--space-m);
    color:var(--color-gray-01)
}
.c-site-footer-bottom__colophon{
    margin-right:auto
}
@media (max-width: 767.98px){
    .c-site-footer-bottom__colophon{
        margin-top:var(--space-s)
    }
}
.c-site-footer-bottom__credits{
    text-shadow:0.03em 0 var(--color-black),-0.03em 0 var(--color-black),0 0.03em var(--color-black),0 -0.03em var(--color-black),0.06em 0 var(--color-black),-0.06em 0 var(--color-black),0.09em 0 var(--color-black),-0.09em 0 var(--color-black),0.12em 0 var(--color-black),-0.12em 0 var(--color-black),0.15em 0 var(--color-black),-0.15em 0 var(--color-black)
}
@media (max-width: 767.98px){
    .c-site-footer-bottom__credits{
        margin-top:var(--space-2xs)
    }
}
.c-site-footer{
    padding-top:var(--space-3xl);
    color:var(--color-gray-01);
    background:var(--color-black)
}
@media (min-width: 768px){
    .c-site-footer{
        padding-top:var(--space-8xl)
    }
}
.c-site-footer a:hover{
    text-decoration:none
}
[data-overlay-content] + .c-site-footer{
    margin-top:var(--space-3xl)
}
@media (min-width: 768px){
    [data-overlay-content] + .c-site-footer{
        margin-top:var(--space-8xl)
    }
}
.c-services-footer + .c-site-footer,.c-services-cta + .c-site-footer{
    margin-top:-1px
}
.c-site-footer__title{
    position:relative;
    display:inline-flex;
    align-items:flex-end;
    margin-bottom:var(--space-2xl);
    font-size:var(--step-8)
}
@media (min-width: 768px){
    .c-site-footer__title{
        margin-bottom:var(--space-7xl);
        font-size:var(--step-10)
    }
}
.c-site-footer__title .o-reveal{
    position:absolute;
    left:7.2ch;
    transition:transform 1s cubic-bezier(0.165, 0.84, 0.44, 1),opacity 0s
}
.c-site-footer__title .c-site-footer__roll{
    display:inline-flex;
    flex-direction:column;
    height:calc(1em * var(--heading-line-height))
}
.c-site-footer__title .c-site-footer__roll span{
    display:block
}
.c-site-footer__grid{
    --gutter-y:var(--space-l)
}
.c-site-footer__block01{
    --column-span:12;
    display:flex;
    flex-direction:column;
    align-items:flex-start
}
@media (min-width: 768px){
    .c-site-footer__block01{
        --column-span:4
    }
}
@media (min-width: 992px){
    .c-site-footer__block01{
        --column-start:1;
        --column-span:3
    }
}
@media (min-width: 1440px){
    .c-site-footer__block01{
        --column-start:1;
        --column-span:2
    }
}
.c-site-footer__block02{
    --column-span:12
}
@media (min-width: 768px){
    .c-site-footer__block02{
        --column-start:5;
        --column-span:4
    }
}
@media (min-width: 992px){
    .c-site-footer__block02{
        --column-start:5;
        --column-span:3
    }
}
@media (min-width: 1440px){
    .c-site-footer__block02{
        --column-start:4;
        --column-span:2
    }
}
.c-site-footer__social{
    --column-span:12;
    display:flex;
    order:-1
}
@media (min-width: 768px){
    .c-site-footer__social{
        --column-span:2;
        --column-start:11;
        justify-content:flex-end;
        order:1;
        margin-top:calc(var(--space-xs) + var(--step-0) * var(--body-line-height))
    }
}
.c-site-footer__social a{
    align-self:flex-start;
    line-height:0;
    transition:color 0.25s,transform 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change:transform
}
@media (hover: hover){
    .c-site-footer__social a:hover{
        transform:scale(1.1);
        color:var(--color-orange)
    }
}
.c-site-footer__social > *:not(:first-child){
    margin-left:var(--space-xs)
}
.c-site-footer__block-label{
    color:var(--color-gray-03);
    font-family:var(--font-family-mono)
}
.c-site-footer__block-link{
    text-shadow:0.03em 0 var(--color-black),-0.03em 0 var(--color-black),0 0.03em var(--color-black),0 -0.03em var(--color-black),0.06em 0 var(--color-black),-0.06em 0 var(--color-black),0.09em 0 var(--color-black),-0.09em 0 var(--color-black),0.12em 0 var(--color-black),-0.12em 0 var(--color-black),0.15em 0 var(--color-black),-0.15em 0 var(--color-black);
    display:flex;
    flex-direction:column;
    margin-top:var(--space-xs);
    font-size:var(--step-1)
}
.c-site-footer__block-link + .c-site-footer__block-link{
    margin-top:0
}
.c-site-header{
    pointer-events:none;
    position:fixed;
    z-index:9996;
    top:0;
    left:0;
    display:flex;
    align-items:center;
    width:100%;
    height:var(--site-header-height);
    opacity:0;
    transition:transform 1.7s cubic-bezier(0.23, 1, 0.32, 1),opacity 1s;
    transform:translateY(24vh)
}
@media (max-width: 767.98px){
    .c-site-header{
        transition:transform 1.5s cubic-bezier(0.23, 1, 0.32, 1),opacity 1s;
        transform:translateY(17vh)
    }
}
.intro-quasi-complete .c-site-header{
    transform:none;
    opacity:1
}
.c-site-header a:hover{
    text-decoration:none
}
.c-site-header .o-container{
    display:flex;
    height:auto
}
.c-site-header__wrapper{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    width:100%;
    height:auto
}
.c-site-header__logo{
    pointer-events:auto
}
.c-site-header__menu-wrapper{
    position:relative
}
.c-site-header__menu-button{
    position:relative;
    z-index:1;
    padding-right:0;
    padding-left:0;
    color:var(--color-black);
    border-radius:7px;
    transition-delay:0.4s
}
@media (max-width: 767.98px){
    .c-site-header__menu-button{
        transition-delay:0.7s;
        transition-duration:0.15
    }
    .menu-active .c-site-header__menu-button span:first-child{
        transform:none
    }
    .menu-active .c-site-header__menu-button span:last-child{
        transform:translateY(120%)
    }
}
.menu-active .c-site-header__menu-button{
    background:var(--color-orange) !important;
    transition-delay:0s;
    transition-duration:0.3s
}
@media (max-width: 767.98px){
    .menu-active .c-site-header__menu-button{
        transition-delay:0.5s;
        transition-duration:0.3s
    }
}
.c-site-header__menu-button div{
    display:flex;
    flex-direction:column;
    align-items:center;
    overflow:hidden;
    height:0.9em;
    padding-right:0.84em;
    padding-left:0.84em;
    will-change:transform
}
.c-site-header__menu-button div span:first-child{
    position:absolute;
    transform:translateY(-120%)
}
.c-site-header__menu-button span{
    transition:transform 1s cubic-bezier(0.23, 1, 0.32, 1)
}
@media (hover: hover){
    .menu-active .c-site-header__menu-button:hover{
        cursor:pointer
    }
}
@media (min-width: 768px){
    .c-site-header__menu{
        position:absolute;
        top:0;
        right:0;
        min-width:calc(var(--space-7xl) * 2.5)
    }
}
@media (max-width: 767.98px){
    .c-site-header__menu{
        position:fixed;
        top:0;
        right:0;
        bottom:0;
        left:0
    }
}
.c-site-header__bg{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    z-index:-1;
    transition:transform 1.5s cubic-bezier(0.86, 0, 0.07, 1);
    pointer-events:none
}
@media (min-width: 768px){
    .c-site-header__bg{
        overflow:hidden;
        border-radius:var(--banner-padding);
        transition:transform 1.5s cubic-bezier(0.23, 1, 0.32, 1);
        transform:translate(-2px, 2px) scale(1) rotate(1deg);
        cursor:pointer;
        transform-origin:100% 0
    }
}
.menu-active .c-site-header__bg{
    pointer-events:auto
}
@media (min-width: 768px){
    .menu-active .c-site-header__bg{
        --translate:calc(var(--container-padding) / 2);
        transform:translate(var(--translate), calc(var(--translate) * -1)) scale(1.1)
    }
}
.c-site-header__bg::before,.c-site-header__bg::after{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    background:var(--color-gray-02);
    content:"";
    pointer-events:none
}
@media (min-width: 768px){
    .c-site-header__bg::before,.c-site-header__bg::after{
        transition:transform 1.5s cubic-bezier(0.23, 1, 0.32, 1);
        transform:translate(130px, 0) rotate(15deg) scale(1.3, 0);
        transform-origin:100% 0
    }
}
@media (max-width: 767.98px){
    .c-site-header__bg::before,.c-site-header__bg::after{
        transition:transform 1.25s cubic-bezier(0.86, 0, 0.07, 1);
        transform-origin:100% 0;
        transform:translate(150px, 0) rotate(10deg) scale(1.5, 0)
    }
}
.c-site-header__bg::after{
    background:var(--color-orange)
}
.c-site-header__bg::before{
    transition-delay:0.05s
}
@media (min-width: 768px){
    .menu-active .c-site-header__bg::before,.menu-active .c-site-header__bg::after{
        transform:translateX(0) rotate(0) scale(1.3, 1)
    }
}
@media (max-width: 767.98px){
    .menu-active .c-site-header__bg::before,.menu-active .c-site-header__bg::after{
        transition:transform 1.7s cubic-bezier(0.86, 0, 0.07, 1);
        transform:translateX(0) rotate(0) scale(1.5, 1)
    }
}
.menu-active .c-site-header__bg::before{
    transition-delay:0s
}
.menu-active .c-site-header__bg::after{
    transition-delay:0.05s
}
.c-site-header__menu-inner{
    display:flex;
    flex-direction:column;
    height:100%;
    padding:0 var(--container-padding);
    text-align:right
}
@media (min-width: 768px){
    .c-site-header__menu-inner{
        padding:calc(var(--space-xl) * 1.2) var(--space-l) var(--space-m)
    }
}
.menu-active .c-site-header__menu-inner{
    pointer-events:auto
}
.c-site-header__menu-top{
    display:flex;
    flex-direction:column
}
@media (max-width: 767.98px){
    .c-site-header__menu-top{
        margin-top:auto
    }
}
.c-site-header__menu-top a{
    display:flex;
    flex-direction:column;
    overflow:hidden;
    height:calc(1em * var(--heading-line-height));
    color:var(--color-black) !important;
    font-size:var(--step-7);
    opacity:0;
    transition:transform 0.75s cubic-bezier(0.23, 1, 0.32, 1),opacity 0.4s cubic-bezier(0.23, 1, 0.32, 1),color 0.5s;
    transition-delay:0s;
    will-change:transform;
    transform-origin:0 100%;
    transform:translateY(0.25em) scale(0.95)
}
@media (max-width: 767.98px){
    .c-site-header__menu-top a{
        transition:transform 0.75s 0.6s cubic-bezier(0.23, 1, 0.32, 1),opacity 0.4s 0.4s cubic-bezier(0.23, 1, 0.32, 1),color 0.5s
    }
}
.c-site-header__menu-top a.is-active{
    color:var(--color-white) !important
}
.menu-active .c-site-header__menu-top a{
    opacity:1;
    transform:none;
    transition:transform 1.1s cubic-bezier(0.23, 1, 0.32, 1),opacity 1.3s cubic-bezier(0.23, 1, 0.32, 1),color 0.5s;
    transition-delay:calc(var(--stagger) * 0.065s + 0.1s)
}
@media (max-width: 767.98px){
    .menu-active .c-site-header__menu-top a{
        transition:transform 1.2s cubic-bezier(0.23, 1, 0.32, 1),opacity 1.5s cubic-bezier(0.23, 1, 0.32, 1),color 0.5s;
        transition-delay:calc(var(--stagger) * 0.065s + 0.75s)
    }
}
* > .c-site-header__menu-top a:not(:first-child){
    margin-top:var(--space-s)
}
.c-site-header__menu-top a div{
    position:relative;
    display:inline-flex;
    flex-direction:column;
    transition:transform 0.75s cubic-bezier(0.23, 1, 0.32, 1)
}
@media (max-width: 767.98px){
    .c-site-header__menu-top a div{
        transform:none
    }
}
.is-transitioning .c-site-header__menu-top a div{
    transition:transform 0.5s cubic-bezier(0.23, 1, 0.32, 1) 1s
}
.c-site-header__menu-top a div::before{
    position:absolute;
    top:0;
    right:0;
    content:attr(data-text);
    transform:translateY(-120%);
    transition:transform 0.75s cubic-bezier(0.23, 1, 0.32, 1)
}
@media (hover: hover){
    .c-site-header__menu-top a:hover div{
        transform:translateY(110%)
    }
    .c-site-header__menu-top a:hover div::before{
        transform:translateY(-110%)
    }
}
.c-site-header__menu-top a:nth-child(1){
    --stagger:1
}
.c-site-header__menu-top a:nth-child(2){
    --stagger:2
}
.c-site-header__menu-top a:nth-child(3){
    --stagger:3
}
.c-site-header__menu-top a:nth-child(4){
    --stagger:4
}
.c-site-header__menu-top a:nth-child(5){
    --stagger:5
}
.c-site-header__menu-top a:nth-child(6){
    --stagger:6
}
.c-site-header__menu-top a:nth-child(7){
    --stagger:7
}
.c-site-header__menu-bottom{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    margin-top:var(--space-xl);
    color:var(--color-black)
}
@media (max-width: 767.98px){
    .c-site-header__menu-bottom{
        padding-bottom:var(--space-xl)
    }
}
.c-site-header__menu-bottom a{
    text-shadow:0.03em 0 var(--color-orange),-0.03em 0 var(--color-orange),0 0.03em var(--color-orange),0 -0.03em var(--color-orange),0.06em 0 var(--color-orange),-0.06em 0 var(--color-orange),0.09em 0 var(--color-orange),-0.09em 0 var(--color-orange),0.12em 0 var(--color-orange),-0.12em 0 var(--color-orange),0.15em 0 var(--color-orange),-0.15em 0 var(--color-orange);
    will-change:transform;
    opacity:0;
    transition:transform 0.75s cubic-bezier(0.23, 1, 0.32, 1),opacity 0.2s cubic-bezier(0.23, 1, 0.32, 1);
    transition-delay:0s;
    transform-origin:0 100%;
    transform:translate(-0.25em, 0.25em) scale(0.95)
}
@media (max-width: 767.98px){
    .c-site-header__menu-bottom a{
        transition:transform 0.75s 0.6s cubic-bezier(0.23, 1, 0.32, 1),opacity 0.5s 0.3s cubic-bezier(0.23, 1, 0.32, 1)
    }
}
.menu-active .c-site-header__menu-bottom a{
    opacity:1;
    transition:transform 1.1s cubic-bezier(0.23, 1, 0.32, 1),opacity 1.2s cubic-bezier(0.23, 1, 0.32, 1);
    transition-delay:calc(var(--stagger) * 0.065s + 1.2s);
    transform:none
}
@media (min-width: 768px){
    .menu-active .c-site-header__menu-bottom a{
        transition:transform 1.1s cubic-bezier(0.23, 1, 0.32, 1),opacity 1.2s cubic-bezier(0.23, 1, 0.32, 1);
        transition-delay:calc(var(--stagger) * 0.065s + 0.6s)
    }
}
* > .c-site-header__menu-bottom a:not(:first-child){
    margin-top:0.25em
}
.c-site-header__menu-bottom a:nth-child(1){
    --stagger:1
}
.c-site-header__menu-bottom a:nth-child(2){
    --stagger:2
}
.c-site-header__menu-bottom a:nth-child(3){
    --stagger:3
}
.c-site-header__menu-bottom a:nth-child(4){
    --stagger:4
}
.c-site-header__menu-bottom a:nth-child(5){
    --stagger:5
}
.c-site-header__menu-bottom a:nth-child(6){
    --stagger:6
}
.c-site-header__menu-bottom a:nth-child(7){
    --stagger:7
}
.c-site-wrapper{
    pointer-events:none;
    position:absolute;
    display:flex;
    justify-content:center;
    align-items:center;
    width:100vw;
    height:100vh
}
.c-site-wrapper__move{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-shrink:0;
    overflow:hidden;
    height:100%;
    will-change:transform
}
.c-site-wrapper__reverse{
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
    height:100%
}
.c-site-wrapper__overlay-wrapper{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    z-index:1000;
    display:flex;
    justify-content:center;
    align-items:center
}
.c-site-wrapper__overlay{
    flex-shrink:0;
    background:var(--color-orange)
}
.c-site-wrapper__inner{
    position:relative;
    width:100vw;
    height:100vh
}
.tpl-home .c-site-wrapper__inner{
    opacity:0
}
.intro-complete .tpl-home .c-site-wrapper__inner{
    opacity:1
}
.c-site-wrapper__inner::after,.c-site-wrapper__inner::before{
    position:absolute;
    top:0;
    left:50%;
    width:140vw;
    height:100%;
    transform:translateX(-50%);
    background:var(--color-white);
    content:""
}
.c-site-wrapper__inner::after{
    z-index:-1
}
.c-site-wrapper__inner::before{
    background:var(--color-black);
    opacity:0;
    transition:opacity 1s
}
.grid-layout body.tpl-works .c-site-wrapper__inner::before{
    opacity:0;
    transition:opacity 1s cubic-bezier(0.23, 1, 0.32, 1)
}
.theme-black.grid-layout body.tpl-works .c-site-wrapper__inner::before{
    opacity:1
}
.list-layout body.tpl-works .c-site-wrapper__inner::before{
    opacity:1;
    transition:opacity 1s cubic-bezier(0.23, 1, 0.32, 1)
}
.theme-black .c-site-wrapper__inner::before,.tpl-contact .c-site-wrapper__inner::before{
    opacity:1
}
.is-transitioning .c-site-wrapper__inner::before{
    transition-delay:1.35s !important
}
.c-site-wrapper__content{
    --flow:var(--space-5xl-6xl)
}
.c-site-wrapper__content > *:first-child{
    padding-top:calc(var(--site-header-height) + var(--space-l))
}
@media (min-width: 768px){
    .c-site-wrapper__content > *:first-child{
        padding-top:var(--site-header-height)
    }
}
.c-svg-library{
    position:absolute;
    display:block;
    overflow:hidden;
    width:0;
    height:0;
    margin:0;
    padding:0;
    border:none
}
.c-text-highlight a:hover{
    text-decoration:none
}
.c-text-highlight:not(.c-text-highlight--inverted):first-child{
    padding-top:calc(var(--site-header-height) + var(--space-2xl))
}
.c-text-highlight__wrapper{
    --gutter-y:var(--space-l)
}
.c-text-highlight__title{
    --column-span:12;
    max-width:15ch;
    font-size:var(--step-7)
}
@media (min-width: 768px){
    .c-text-highlight__title{
        font-size:var(--step-8)
    }
}
@media (min-width: 992px){
    .c-text-highlight__title{
        --column-span:7;
        font-size:var(--step-9)
    }
}
@media (min-width: 1440px){
    .c-text-highlight__title{
        --column-span:5;
        max-width:100%;
        font-size:var(--step-10)
    }
}
.tpl-service .c-text-highlight__title{
    align-self:flex-end
}
.c-text-highlight__title .c-text-highlight__roll{
    position:relative;
    display:inline-block;
    transition:transform 2s calc(0.75s + var(--index) * 0.5s) cubic-bezier(0.86, 0, 0.07, 1);
    transform:translateY(100%)
}
.intro-quasi-complete .is-inview .c-text-highlight__title .c-text-highlight__roll{
    transform:none
}
.c-text-highlight__title .c-text-highlight__roll::before{
    content:attr(data-text);
    position:absolute;
    transform:translateY(-100%);
    left:0
}
.c-text-highlight--inverted .c-text-highlight__title{
    margin-left:auto;
    text-align:right
}
@media (min-width: 992px){
    .c-text-highlight--inverted .c-text-highlight__title{
        --column-span:7;
        --column-start:6;
        order:1
    }
}
@media (min-width: 1440px){
    .c-text-highlight--inverted .c-text-highlight__title{
        --column-span:5;
        --column-start:8
    }
}
.c-text-highlight__body{
    --column-span:12;
    display:flex;
    flex-direction:column;
    align-self:flex-end;
    max-width:70ch
}
@media (min-width: 992px){
    .c-text-highlight__body{
        --column-start:9;
        --column-span:4
    }
}
@media (min-width: 992px){
    .c-text-highlight--inverted .c-text-highlight__body{
        --column-start:1;
        --column-span:4;
        order:-1
    }
}
@media (min-width: 1440px){
    .c-text-highlight--inverted .c-text-highlight__body{
        --column-span:4
    }
}
.c-text-highlight__text{
    font-size:var(--step-1)
}
.c-text-highlight__highlight{
    --index:5;
    align-self:flex-start;
    margin-top:var(--space-m)
}
.c-text-image{
    position:relative
}
.c-text-image__switch-theme{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0
}
.c-text-image__image-outer-wrapper{
    width:100%;
    margin:0 auto
}
@media (min-width: 768px){
    .c-text-image__image-outer-wrapper{
        width:calc(var(--column-width) * 6)
    }
}
@media (min-width: 992px){
    .c-text-image__image-outer-wrapper{
        width:calc(var(--column-width) * 5)
    }
}
@media (min-width: 1440px){
    .c-text-image__image-outer-wrapper{
        width:calc(var(--column-width) * 4)
    }
}
@media (min-width: 1960px){
    .c-text-image__image-outer-wrapper{
        width:calc(var(--column-width) * 3)
    }
}
.c-text-image__image-inner-wrapper{
    position:relative;
    padding-bottom:123.0769230769%;
    background:var(--color-placeholder);
    border-radius:var(--banner-radius);
    -webkit-mask-image:radial-gradient(#fff, #000);
    mask-image:radial-gradient(#fff, #000)
}
.c-text-image__text{
    max-width:25ch;
    margin:0 auto;
    margin-top:var(--space-2xl);
    font-size:var(--step-7);
    text-align:center
}
@media (min-width: 768px){
    .c-text-image__text{
        font-size:var(--step-8)
    }
}
@media (min-width: 992px){
    .c-text-image__text{
        font-size:var(--step-9)
    }
}
@media (min-width: 1440px){
    .c-text-image__text{
        font-size:var(--step-10)
    }
}
.c-text-image__image{
    position:absolute;
    top:-2vh;
    right:0;
    bottom:-2vh;
    left:0
}
.c-titles__title{
    font-size:var(--step-7);
    text-align:right
}
@media (min-width: 768px){
    .c-titles__title{
        font-size:var(--step-8)
    }
}
@media (min-width: 992px){
    .c-titles__title{
        font-size:var(--step-9)
    }
}
@media (min-width: 1440px){
    .c-titles__title{
        font-size:var(--step-10)
    }
}
.c-titles__grid{
    --gutter-y:var(--space-2xl);
    grid-auto-flow:dense;
    margin-top:var(--space-2xl)
}
@media (min-width: 992px){
    .c-titles__image-outer-wrapper{
        --column-span:3;
        --column-start:10
    }
}
.c-titles__image-inner-wrapper{
    position:relative;
    overflow:hidden;
    padding-bottom:133.3333333333%;
    background:var(--color-placeholder);
    border-radius:var(--banner-radius)
}
@media (min-width: 992px){
    .c-titles__list{
        --column-span:9
    }
}
.c-titles__list-item-wrapper{
    font-size:var(--step-5);
    opacity:1 !important;
    transform:none !important
}
@media (min-width: 768px){
    .c-titles__list-item-wrapper:nth-child(even).is-inview{
        transform:translateX(1em) !important
    }
}
.c-titles__list-item{
    display:block;
    margin-top:var(--space-2xs);
    font-size:var(--step-5)
}
@media (min-width: 768px){
    .c-titles__list-item{
        margin-top:calc(var(--space-2xs) * 0.25)
    }
}
li:nth-child(odd) .c-titles__list-item{
    color:var(--color-gray-02)
}
li:nth-child(even) .c-titles__list-item{
    color:var(--color-white)
}
.c-titles__image{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0
}
.c-works-cta{
    position:relative
}
.c-works-cta a:hover{
    text-decoration:none
}
.c-works-cta__switch-theme{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    pointer-events:none
}
.c-works-cta__heading{
    --gutter-y:var(--space-xl);
    grid-auto-flow:dense;
    align-items:flex-end;
    margin-bottom:var(--space-xl)
}
.c-works-cta__subtitle{
    --column-span:12;
    display:flex;
    justify-content:space-between;
    font-family:var(--font-family-mono)
}
@media (min-width: 768px){
    .c-works-cta__subtitle{
        --column-span:4
    }
}
.c-works-cta__title-wrapper{
    --column-span:12;
    --column-start:1
}
@media (min-width: 768px){
    .c-works-cta__title-wrapper{
        --column-span:6;
        --column-start:7
    }
}
@media (min-width: 1440px){
    .c-works-cta__title-wrapper{
        --column-span:5;
        --column-start:8
    }
}
.c-works-cta__title{
    max-width:20ch;
    margin-left:auto;
    font-size:var(--step-7);
    text-align:right
}
@media (min-width: 768px){
    .c-works-cta__title{
        font-size:var(--step-8)
    }
}
@media (min-width: 992px){
    .c-works-cta__title{
        font-size:var(--step-9)
    }
}
@media (min-width: 1440px){
    .c-works-cta__title{
        font-size:var(--step-10)
    }
}
.c-works-cta__item{
    position:relative;
    display:block;
    overflow:hidden;
    border-radius:var(--banner-radius);
    -webkit-mask-image:radial-gradient(#fff, #000);
    mask-image:radial-gradient(#fff, #000)
}
@media (min-width: 768px){
    .c-works-cta__item{
        opacity:1
    }
}
.c-works-cta__item:not(:first-child){
    margin-top:calc(var(--container-padding) / 1.5)
}
.c-works-cta__item-info{
    pointer-events:none;
    position:relative;
    z-index:1;
    display:flex;
    justify-content:space-between;
    width:100%;
    margin-top:auto;
    padding:var(--space-m);
    color:var(--color-white)
}
@media (min-width: 992px){
    .c-works-cta__item-info{
        padding:calc(var(--container-padding) / 2)
    }
}
.c-works-cta__info-title{
    font-size:var(--step-1);
    will-change:transform
}
.c-works-cta__info-tags{
    will-change:transform;
    font-family:var(--font-family-mono)
}
@media (max-width: 767.98px){
    .c-works-cta__info-tags{
        display:none
    }
}
.c-works-cta__cta{
    display:inline-flex;
    align-items:center;
    margin-top:var(--space-xl)
}
.c-works-cta__item-image{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    pointer-events:none;
    transition:opacity 0.5s
}
@media (hover: hover){
    .c-works-cta__item:hover .c-works-cta__item-image{
        opacity:0
    }
}
.c-works__item-spacer,.c-works-cta__item-spacer{
    width:100%;
    padding-bottom:40%
}
@media (min-width: 768px){
    .c-works__item-spacer,.c-works-cta__item-spacer{
        padding-bottom:30%
    }
}
@media (min-width: 992px){
    .c-works__item-spacer,.c-works-cta__item-spacer{
        padding-bottom:20%
    }
}
.c-works__item-media,.c-works-cta__item-media{
    position:absolute;
    top:-7.5vh;
    right:0;
    bottom:-7.5vh;
    left:0;
    background:var(--color-placeholder)
}
.c-works a{
    text-decoration:none
}
.c-works a:hover{
    text-decoration:none
}
.c-works__header{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    align-items:flex-end;
    padding-bottom:var(--space-l);
    color:var(--theme-color-text)
}
@media (min-width: 768px){
    .c-works__header{
        flex-direction:row-reverse;
        padding-bottom:var(--space-2xl)
    }
}
.c-works__header-title{
    position:relative;
    font-size:var(--step-8);
    text-align:right;
    transition:color 1s cubic-bezier(0.23, 1, 0.32, 1)
}
@media (min-width: 768px){
    .c-works__header-title{
        font-size:var(--step-9)
    }
}
@media (min-width: 992px){
    .c-works__header-title{
        font-size:var(--step-10)
    }
}
@media (min-width: 1440px){
    .c-works__header-title{
        font-size:160px
    }
}
.c-works__header-title .c-works__header-stories{
    display:inline-block;
    transform:translateX(-20vw);
    transition:transform 2s 1s cubic-bezier(0.86, 0, 0.07, 1)
}
.intro-quasi-complete .is-inview .c-works__header-title .c-works__header-stories{
    transform:none
}
.c-works__header-title .c-works__header-wow-replacer{
    overflow:hidden;
    height:0;
    opacity:0;
    transition:height,opacity;
    transition-delay:3.2s;
    transition-duration:0s
}
html:not(.is-real-transitioning).intro-complete .c-works__header-title .c-works__header-wow-replacer{
    transition-delay:0s
}
.intro-quasi-complete .is-inview .c-works__header-title .c-works__header-wow-replacer{
    height:1em;
    opacity:1
}
.c-works__header-title .c-works__header-wow{
    position:relative;
    left:0;
    pointer-events:none;
    width:calc(100vw - var(--container-padding) * 2);
    height:1em;
    margin-left:auto;
    transition:height,opacity;
    transition-delay:3.2s;
    transition-duration:0s
}
.intro-quasi-complete .is-inview .c-works__header-title .c-works__header-wow{
    height:0;
    opacity:0
}
.c-works__header-title .c-works__header-wow div{
    position:absolute;
    left:0;
    width:3.58ch
}
.c-works__header-title .c-works__header-wow span:first-child{
    position:absolute;
    z-index:1;
    left:0;
    display:inline-block;
    width:40ch;
    transform:translateX(calc(-100% + 1.29ch));
    background:var(--color-white);
    transition:transform 2s 1.2s cubic-bezier(0.86, 0, 0.07, 1),background 1s 0s cubic-bezier(0.23, 1, 0.32, 1)
}
.list-layout .c-works__header-title .c-works__header-wow span:first-child{
    background:var(--color-black)
}
.intro-quasi-complete .is-inview .c-works__header-title .c-works__header-wow span:first-child{
    transform:translateX(calc(-100% + 1.29ch + 100vw - var(--container-padding) * 2 - 2.58ch - 1ch))
}
.c-works__header-title .c-works__header-wow span:last-child{
    position:absolute;
    left:0;
    transform:translateX(calc(-100% + 2.58ch + 1ch));
    transition:transform 2s 1s cubic-bezier(0.86, 0, 0.07, 1)
}
.intro-quasi-complete .is-inview .c-works__header-title .c-works__header-wow span:last-child{
    transform:translateX(calc(-100% + 100vw - var(--container-padding) * 2))
}
.list-layout .c-works__header-title{
    color:var(--color-gray-01)
}
.c-works__header-nav{
    display:flex
}
@media (max-width: 767.98px){
    .c-works__header-nav{
        margin-top:var(--space-xl);
        margin-right:auto
    }
}
@media (min-width: 768px){
    .c-works__header-nav{
        transform:translateX(100%)
    }
}
.c-works__header-nav > *:last-child{
    margin-left:var(--space-s)
}
.c-works__header-button{
    position:relative;
    padding:0.5em 0.84em;
    color:var(--color-gray-03);
    font-family:var(--font-family-mono);
    font-weight:700;
    line-height:0.9;
    text-transform:uppercase;
    border:1px solid var(--color-gray-03);
    border-radius:7px;
    transition:background 0.75s cubic-bezier(0.23, 1, 0.32, 1);
    -webkit-user-select:none;
    -moz-user-select:none;
    user-select:none
}
@media (min-width: 768px){
    .c-works__header-button{
        padding:0.35em 0.6em
    }
}
.c-works__header-button > span{
    display:flex;
    flex-direction:column;
    overflow:hidden;
    height:0.9em
}
.c-works__header-button > span span{
    display:block;
    transition:transform 1s cubic-bezier(0.23, 1, 0.32, 1);
    transform:translate3d(0, 0, 0);
    transform-origin:100% 50%
}
.c-works__header-button > span span:last-child{
    padding-top:0.25em;
    transform:translate(0, 0)
}
.c-works__header-button:hover{
    cursor:pointer
}
.c-works__header-button.is-active{
    color:var(--color-black);
    background-color:var(--color-gray-01);
    border:1px solid var(--color-gray-01);
    cursor:default;
    transition:transform 0s cubic-bezier(0.23, 1, 0.32, 1)
}
.list-layout .c-works__header-button{
    color:var(--color-gray-03);
    border:1px solid var(--color-gray-03)
}
.list-layout .c-works__header-button.is-active{
    color:var(--color-white) !important;
    background-color:var(--color-gray-03)
}
@media (hover: hover){
    .c-works__header-button.is-active span span:first-child,.c-works__header-button:hover span span:first-child{
        transform:translateY(calc(-100% - 0.25em));
        transition:transform 1s cubic-bezier(0.23, 1, 0.32, 1)
    }
    .c-works__header-button.is-active span span:last-child,.c-works__header-button:hover span span:last-child{
        transform:translateY(-100%);
        transition:transform 1s cubic-bezier(0.23, 1, 0.32, 1)
    }
}
.c-works__title-bar{
    color:var(--color-gray-03);
    font-family:var(--font-family-mono);
    opacity:0;
    transition:opacity 1s cubic-bezier(0.23, 1, 0.32, 1)
}
.list-layout .c-works__title-bar{
    opacity:1
}
.c-works__title-story{
    --column-start:1;
    --column-span:4
}
.c-works__title-client{
    --column-start:5;
    --column-span:4
}
@media (max-width: 991.98px){
    .c-works__title-client{
        display:none
    }
}
.c-works__title-tags{
    --column-start:9;
    --column-span:3
}
@media (max-width: 991.98px){
    .c-works__title-tags{
        --column-start:8;
        --column-span:3
    }
}
@media (max-width: 767.98px){
    .c-works__title-tags{
        display:none
    }
}
.c-works__item{
    position:relative;
    display:block;
    overflow:hidden;
    border-radius:var(--banner-radius);
    transition:margin 1s cubic-bezier(0.23, 1, 0.32, 1);
    -webkit-mask-image:radial-gradient(#fff, #000);
    mask-image:radial-gradient(#fff, #000)
}
.c-works__item:not(:first-child){
    margin-top:calc(var(--container-padding) / 1.5)
}
.list-layout .c-works__item{
    margin-top:0
}
.list-layout .c-works__item > *{
    pointer-events:none
}
.c-works__line-list{
    position:absolute;
    z-index:1;
    width:calc(100% - var(--container-padding) * 2);
    height:1px;
    background:var(--color-gray-01);
    opacity:0;
    transition:opacity 1s cubic-bezier(0.23, 1, 0.32, 1);
    pointer-events:none
}
.list-layout .c-works__line-list{
    opacity:1
}
.c-works__line-list::after{
    position:absolute;
    z-index:1;
    bottom:0;
    left:0;
    width:100%;
    height:1px;
    background:var(--color-orange);
    content:"";
    opacity:0;
    transform-origin:100% 0;
    transform:scaleX(0);
    transition:transform 1s cubic-bezier(0.23, 1, 0.32, 1),opacity 0s 1s
}
.c-works__line-list:last-child{
    bottom:1px
}
@media (hover: hover){
    .list-layout a:hover + .c-works__line-list::after{
        opacity:1;
        transition:transform 2s cubic-bezier(0.23, 1, 0.32, 1),opacity 0.75s 0s;
        transform-origin:0 0;
        transform:scaleX(1)
    }
}
.c-works__item-spacer{
    transition:padding 1s cubic-bezier(0.23, 1, 0.32, 1)
}
.list-layout .c-works__item-spacer{
    padding-bottom:0%
}
.list-layout .c-works__item-media{
    opacity:0;
    transition-delay:1s
}
.c-works__item-bg{
    pointer-events:none;
    position:absolute;
    top:-1px;
    right:0;
    bottom:1px;
    left:0;
    background:var(--color-black);
    opacity:0;
    transition:opacity 1s cubic-bezier(0.23, 1, 0.32, 1);
    content:"";
    will-change:transform
}
.list-layout .c-works__item-bg{
    opacity:1
}
.c-works__item-info{
    --padding:var(--space-m);
    will-change:transform;
    pointer-events:none;
    position:relative;
    align-items:center;
    padding:calc(var(--padding)) 0;
    color:var(--color-white);
    transition:padding 1s cubic-bezier(0.23, 1, 0.32, 1)
}
@media (min-width: 992px){
    .c-works__item-info{
        --padding:calc(var(--container-padding) / 2)
    }
}
.list-layout .c-works__item-info{
    padding-left:0
}
.c-works__info-title{
    --column-start:1;
    --column-span:10;
    font-size:var(--step-1);
    transform:translateX(var(--padding));
    transition:transform 1s cubic-bezier(0.23, 1, 0.32, 1)
}
@media (min-width: 768px){
    .c-works__info-title{
        --column-span:4
    }
}
@media (min-width: 992px){
    .c-works__info-title{
        --column-span:4
    }
}
.list-layout .c-works__info-title{
    transform:none
}
.c-works__info-client{
    --column-start:5;
    --column-span:3;
    right:0;
    font-size:var(--step-1);
    opacity:0;
    transition:opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1)
}
@media (max-width: 991.98px){
    .c-works__info-client{
        display:none
    }
}
.list-layout .c-works__info-client{
    opacity:1
}
.c-works__info-tags-grid{
    position:absolute;
    right:var(--padding);
    font-family:var(--font-family-mono);
    transition:opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1)
}
@media (max-width: 767.98px){
    .c-works__info-tags-grid{
        display:none
    }
}
.list-layout .c-works__info-tags-grid{
    opacity:0
}
.c-works__info-tags-list{
    --column-span:4;
    --column-start:8;
    position:absolute;
    font-size:var(--step-1);
    opacity:0;
    transition:opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1)
}
@media (min-width: 992px){
    .c-works__info-tags-list{
        --column-span:4;
        --column-start:9
    }
}
@media (max-width: 767.98px){
    .c-works__info-tags-list{
        display:none
    }
}
.list-layout .c-works__info-tags-list{
    opacity:1
}
.c-works__info-button{
    --column-span:1;
    --column-start:12;
    position:absolute;
    right:1px;
    font-size:0;
    opacity:0;
    transition:opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1),transform 1s cubic-bezier(0.23, 1, 0.32, 1);
    transform:translateX(calc(var(--padding) * -1));
    justify-self:flex-end
}
.list-layout .c-works__info-button{
    transform:none;
    opacity:1
}
.c-works__info-button .o-button-arrow{
    transform-origin:100% 50%
}
.c-works__item-image{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    pointer-events:none;
    transition:opacity 0.5s;
    will-change:transform
}
@media (hover: hover){
    .c-works__item:hover .c-works__item-image{
        opacity:0
    }
}
.c-wow-layer{
    --font-size:50vh;
    pointer-events:none;
    position:fixed;
    z-index:99999;
    top:0;
    right:0;
    bottom:0;
    left:0;
    display:none
}
.wow-layer-visible .c-wow-layer{
    display:block
}
.c-wow-layer__wrapper{
    position:absolute;
    top:50%;
    left:50%;
    display:flex;
    align-items:flex-end;
    width:3.392ch;
    height:0.5978em;
    color:var(--color-yellow);
    font-family:var(--font-family-heading);
    font-size:var(--font-size);
    line-height:1;
    white-space:nowrap;
    opacity:0;
    transition:transform 2.5s cubic-bezier(0.23, 1, 0.32, 1);
    transform:translate(-50%, -50%) rotate(-90deg) scale(42);
    will-change:transform
}
.c-wow-layer__wrapper > div{
    position:relative;
    bottom:-0.124em
}
.trigger-wow-layer .c-wow-layer__wrapper{
    opacity:1;
    transform:translate(-50%, -50%)
}
.c-wow-layer__gif-wrapper,.c-wow-layer__gif-wrapper-02{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0
}
.c-wow-layer__gif-wrapper{
    transition:transform 3.9s 1.8s cubic-bezier(0.86, 0, 0.07, 1);
    transform:scale(1)
}
.trigger-wow-layer .c-wow-layer__gif-wrapper{
    transform:translateX(-100%) rotate(-15deg)
}
.c-wow-layer__gif-wrapper-02{
    transition:transform 3.7s 1.8s cubic-bezier(0.86, 0, 0.07, 1)
}
.trigger-wow-layer .c-wow-layer__gif-wrapper-02{
    transform:translateX(-100%) rotate(-10deg)
}
.c-wow-layer__gif{
    position:absolute;
    top:50%;
    left:50%;
    width:20vw;
    height:10vw;
    background-position:center;
    background-repeat:no-repeat;
    background-size:cover;
    border-radius:7px;
    opacity:0;
    transition-delay:calc(var(--index) * 0.075s + 1.35s),calc(var(--index) * 0.075s + 1.35s);
    transition-duration:1.5s,0s;
    transition-property:transform,opacity;
    transition-timing-function:cubic-bezier(0.23, 1, 0.32, 1),linear;
    transform:translate(-50%, calc(-50% + 200px)) scale(1.1)
}
.trigger-wow-layer .c-wow-layer__gif{
    transform:translate(-50%, -50%) scale(1.2) !important;
    opacity:1 !important
}
.c-wow-layer__gif.gif-01{
    --index:1;
    top:20%;
    left:20%;
    width:15vw;
    height:12vw
}
.c-wow-layer__gif.gif-02{
    --index:2;
    top:24%;
    left:74%;
    width:20vw;
    height:12vw
}
.c-wow-layer__gif.gif-03{
    --index:3;
    z-index:100;
    top:70%;
    left:80%;
    width:23vw;
    height:42vw
}
.c-wow-layer__gif.gif-04{
    --index:4;
    top:74%;
    left:20%;
    width:23vw;
    height:34vw
}
.c-wow-layer__gif.gif-05{
    --index:5
}
.c-wow-layer__text{
    display:flex;
    align-items:flex-end;
    transition:transform 3s 1.5s cubic-bezier(0.86, 0, 0.07, 1);
    will-change:transform
}
.c-wow-layer__text div{
    font-size:calc(1em + var(--size) * 0.1em);
    transform:translateY(calc((1em - var(--font-size)) / 2.36))
}
.trigger-wow-layer .c-wow-layer__text{
    transform:translate(calc(-100% - 50vw + 1.696ch), 0)
}
.c-wow-layer__image{
    --padding:0;
    position:absolute;
    top:var(--padding);
    right:var(--padding);
    bottom:var(--padding);
    left:var(--padding);
    pointer-events:none
}
.c-wow-layer__sticker{
    position:absolute;
    z-index:-1;
    top:50%;
    left:50%;
    width:225px;
    height:225px;
    opacity:0;
    transition:transform 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55),opacity 0.2s 0.3s;
    pointer-events:auto;
    transform:translate(-50%, -50%) rotate(var(--sticker-rotation)) scale(1.1);
    perspective:1000px;
    transform-origin:center center
}
.c-wow-layer__sticker:hover{
    transform:translate(-50%, -50%) rotate(var(--sticker-rotation)) scale(1.1) !important;
    cursor:pointer
}
.show-sticker .c-wow-layer__sticker{
    opacity:1;
    transition:transform 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55),opacity 0.5s 0s;
    transform:translate(-50%, -50%) rotate(var(--sticker-rotation)) scale(1)
}
.show-sticker.trigger-wow-layer .c-wow-layer__sticker{
    opacity:0;
    transition:transform 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86),opacity 0.2s 0.3s !important;
    transform:translate(-50%, -50%) rotate(40deg) scale(0) !important
}
.c-wow-layer__sticker-rotation{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    overflow:hidden;
    background:transparent;
    border-radius:20px;
    box-shadow:rgba(0, 0, 0, 0.25) 0 50px 100px -20px,rgba(0, 0, 0, 0.3) 0 30px 60px -30px;
    transform:rotateY(var(--rotate-x)) rotateX(var(--rotate-y))
}
.c-wow-layer__sticker-image{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    background-position:50% 50%;
    background-repeat:no-repeat;
    background-size:contain;
    border-radius:20px;
    transform-style:preserve-3d;
    transform:translate3d(0, 0, 0.01px)
}
.c-wow-layer__sticker-shine{
    --angle:-22deg;
    --space:5%;
    position:absolute;
    z-index:3;
    top:0;
    right:0;
    bottom:0;
    -webkit-clip-path:inset(0 round 20px);
    clip-path:inset(0 round 20px);
    left:0;
    background-image:repeating-linear-gradient(var(--angle), hsla(283, 49%, 60%, 0.75) calc(var(--space) * 1), hsla(2, 74%, 59%, 0.75) calc(var(--space) * 2), hsla(53, 67%, 53%, 0.75) calc(var(--space) * 3), hsla(93, 56%, 52%, 0.75) calc(var(--space) * 4), hsla(176, 38%, 50%, 0.75) calc(var(--space) * 5), hsla(228, 100%, 77%, 0.75) calc(var(--space) * 6), hsla(283, 49%, 61%, 0.75) calc(var(--space) * 7));
    background-position:0% calc(var(--background-y) * 1),var(--background-x) var(--background-y);
    background-size:300% 400%;
    opacity:0;
    transition:opacity 1s;
    filter:brightness(calc(var(--pointer-from-center) * 0.3 + 0.5)) contrast(2.3) saturate(1);
    background-blend-mode:color-dodge;
    -webkit-mask-size:cover;
    mask-size:cover;
    -webkit-mask-position:center center;
    mask-position:center center;
    mix-blend-mode:color-dodge
}
.c-wow-layer__sticker:hover .c-wow-layer__sticker-shine{
    opacity:0.8
}
.c-wow-layer__sticker-glare{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    overflow:hidden;
    background:radial-gradient(farthest-corner circle at var(--pointer-x) var(--pointer-y), hsl(0, 0%, 100%) 10%, hsla(0, 0%, 100%, 0.6) 35%, hsl(180, 11%, 35%) 60%);
    backface-visibility:hidden;
    border-radius:20px;
    opacity:0;
    transition:opacity 1s 0.3s;
    transform:translateZ(1.41px);
    mix-blend-mode:soft-light;
    filter:brightness(0.8) contrast(1.5)
}
.c-wow-layer__sticker:hover .c-wow-layer__sticker-glare{
    opacity:0.8
}
/*# sourceMappingURL=index.css.map */
