@media only screen and (min-width:600px){
    .margin-top{
        margin-top:80px
    }
    .case-study .margin-bottom{
        margin-bottom:80px!important
    }
    .case-study .margin-zero{
        margin:0!important
    }
}
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
html{
    font-family:sans-serif;
    -ms-text-size-adjust:100%;
    -webkit-text-size-adjust:100%
}
body{
    margin:0
}
article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{
    display:block
}
audio,canvas,progress,video{
    display:inline-block;
    vertical-align:baseline
}
audio:not([controls]){
    display:none;
    height:0
}
[hidden],template{
    display:none
}
a{
    background-color:transparent
}
a:active,a:hover{
    outline:0
}
abbr[title]{
    border-bottom:1px dotted
}
b,strong{
    font-weight:bold
}
dfn{
    font-style:italic
}
h1{
    font-size:2em;
    margin:0.67em 0
}
mark{
    background:#ff0;
    color:#000
}
small{
    font-size:80%
}
sub,sup{
    font-size:75%;
    line-height:0;
    position:relative;
    vertical-align:baseline
}
sup{
    top:-0.5em
}
sub{
    bottom:-0.25em
}
img{
    border:0
}
svg:not(:root){
    overflow:hidden
}
figure{
    margin:1em 40px
}
hr{
    -webkit-box-sizing:content-box;
    box-sizing:content-box;
    height:0
}
pre{
    overflow:auto
}
code,kbd,pre,samp{
    font-family:monospace,monospace;
    font-size:1em
}
button,input,optgroup,select,textarea{
    color:inherit;
    font:inherit;
    margin:0
}
button{
    overflow:visible
}
button,select{
    text-transform:none
}
button,html input[type=button],input[type=reset],input[type=submit]{
    -webkit-appearance:button;
    cursor:pointer
}
button[disabled],html input[disabled]{
    cursor:default
}
button::-moz-focus-inner,input::-moz-focus-inner{
    border:0;
    padding:0
}
input{
    line-height:normal
}
input[type=checkbox],input[type=radio]{
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
    padding:0
}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{
    height:auto
}
input[type=search]{
    -webkit-appearance:textfield;
    -webkit-box-sizing:content-box;
    box-sizing:content-box
}
input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{
    -webkit-appearance:none
}
fieldset{
    border:1px solid #c0c0c0;
    margin:0 2px;
    padding:0.35em 0.625em 0.75em
}
legend{
    border:0;
    padding:0
}
textarea{
    overflow:auto
}
optgroup{
    font-weight:bold
}
table{
    border-collapse:collapse;
    border-spacing:0
}
td,th{
    padding:0
}
.relative{
    position:relative
}
.boxHover:hover{
    opacity:0.5
}
.boxHover{
    position:absolute;
    width:100%;
    height:99.4%;
    background:#1E1E1E;
    top:0;
    left:0;
    opacity:0;
    -webkit-transition:all 0.6s ease;
    transition:all 0.6s ease
}
.boxHover p{
    color:#fff;
    position:absolute;
    bottom:16px;
    left:16px;
    font-size:21px;
    font-size:1.3125rem;
    line-height:27px;
    line-height:1.6875rem;
    text-align:left
}
@media only screen and (min-width:1024px){
    .boxHover{
        position:absolute;
        width:100%;
        height:99.4%;
        background:#1E1E1E;
        top:0;
        left:0;
        opacity:0;
        -webkit-transition:all 0.6s ease;
        transition:all 0.6s ease
    }
    .boxHover p{
        color:#fff;
        position:absolute;
        bottom:0;
        left:16px;
        font-size:30px;
        font-size:1.875rem;
        line-height:36px;
        line-height:2.25rem;
        text-align:left
    }
}
@-webkit-keyframes fadeInUp{
    0%{
        opacity:0;
        -webkit-transform:translate3d(0,50%,0);
        transform:translate3d(0,50%,0)
    }
    to{
        opacity:1;
        -webkit-transform:none;
        transform:none
    }
}
@keyframes fadeInUp{
    0%{
        opacity:0;
        -webkit-transform:translate3d(0,50%,0);
        transform:translate3d(0,50%,0)
    }
    to{
        opacity:1;
        -webkit-transform:none;
        transform:none
    }
}
div.first,div.second{
    opacity:0;
    -webkit-animation:fadeInUp 0.5s ease-in-out 0s forwards;
    animation:fadeInUp 0.5s ease-in-out 0s forwards
}
div.first.first,div.second.first{
    -webkit-animation-delay:0.4s;
    animation-delay:0.4s
}
div.first.second,div.second.second{
    -webkit-animation-delay:1s;
    animation-delay:1s
}
div.first.third,div.second.third{
    -webkit-animation-delay:5s;
    animation-delay:5s
}
div.first.fourth,div.second.fourth{
    -webkit-animation-delay:7s;
    animation-delay:7s
}
div.first.fifth,div.second.fifth{
    -webkit-animation-delay:9s;
    animation-delay:9s
}
div.first.sixth,div.second.sixth{
    -webkit-animation-delay:11s;
    animation-delay:11s
}
@-webkit-keyframes fadeIn{
    0%{
        opacity:0
    }
    to{
        opacity:1
    }
}
@keyframes fadeIn{
    0%{
        opacity:0
    }
    to{
        opacity:1
    }
}
.fade-in{
    opacity:0;
    -webkit-animation:fadeIn ease-in 1;
    animation:fadeIn ease-in 1;
    -webkit-animation-fill-mode:forwards;
    animation-fill-mode:forwards;
    -webkit-animation-duration:1s;
    animation-duration:1s
}
.fade-in.one{
    -webkit-animation-delay:0.3s;
    animation-delay:0.7s
}
blockquote,body,dd,div,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,pre,td,textarea,th,ul{
    margin:0;
    padding:0
}
table{
    border-collapse:collapse;
    border-spacing:0
}
fieldset,img{
    border:0
}
address,caption,cite,code,dfn,th,var{
    font-style:normal;
    font-weight:normal
}
ol,ul{
    list-style:none
}
caption,th{
    text-align:left
}
h1,h2,h3,h4,h5,h6{
    font-size:100%;
    font-weight:normal
}
q:after,q:before{
    content:""
}
abbr,acronym{
    border:0
}
article,aside,footer,header,hgroup,nav,section{
    display:block;
    zoom:1
}
.columns{
    float:left;
    margin:0 4.5% 4.5% 0;
    box-sizing:border-box;
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box
}
.columns.last,.columns:last-child{
    margin-right:0
}
.one.columns{
    width:4.2083333333%
}
.two.columns{
    width:12.9166666667%
}
.three.columns{
    width:21.625%
}
.four.columns{
    width:30.3333333333%
}
.five.columns{
    width:39.0416666667%
}
.six.columns{
    width:47.75%
}
.seven.columns{
    width:56.4583333333%
}
.eight.columns{
    width:65.1666666667%
}
.nine.columns{
    width:73.875%
}
.ten.columns{
    width:82.5833333333%
}
.eleven.columns{
    width:91.2916666667%
}
.twelve.columns{
    width:100%;
    margin-left:0
}
@media (max-width:768px){
    .columns{
        float:none;
        width:auto!important;
        margin-right:0
    }
}
body{
    cursor:none;
    overflow-x:hidden
}
body,html{
    width:100%;
    height:100%;
    position:absolute;
    margin:0;
    padding:0;
    cursor:none
}
ul{
    margin:16px 0 16px 20px
}
li{
    list-style:disc!important
}
.constraint{
    max-width:1440px;
    margin:0 auto;
    position:relative;
    padding:0 2em
}
::-moz-selection{
    background:#43E7D8;
    color:#fff
}
::selection{
    background:#43E7D8;
    color:#fff
}
@media only screen and (min-width:1024px){
    .constraint .testimonial--last{
        margin-bottom:150px
    }
}
.grid-container div{
    padding:0
}
.boxHover,.relative img{
    border-radius:6px
}
img{
    width:100%
}
footer{
    height:170px;
    margin-bottom:30px;
    margin-top:88px;

}
@media only screen and (min-width:1024px){
    footer{
        margin:100px 0 50px 0
    }
}
.footerLeft{
    float:left;
    margin-left:0;
    max-width:600px
}
.footerRight{
    float:left;
    width:200px;
    margin-top:30px;
    margin-left:0;
    clear:both;
    padding-bottom:24px
}
.footerRight a{
    font-size:18px;
    font-size:1.125rem;
    margin-left:0px;
    margin-bottom:4px;
    line-height:37px;
    display:table
}
footer h3{
    font-size:26px;
    font-size:1.625rem
}
.footerLeft a{
    font-size:18px;
    font-size:1.125rem
}
.about p{
    margin-left:0;
    margin-bottom:70px
}
@media only screen and (min-width:800px){
    .constraint .intro--work{
        max-width:1000px
    }
}
@media only screen and (min-width:800px){
    .footerLeft{
        float:left
    }
    .footerLeft a{
        font-size:21px;
        font-size:1.3125rem
    }
    .footerRight{
        float:right;
        width:100%;
        max-width:349px;
        margin-top:-47px;
        margin-right:0;
        margin-bottom:60px
    }
    .footerRight a{
        float:left;
        margin-left:36px;
        font-size:19px;
        font-size:1.1875rem
    }
}
.label{
    display:none
}
@media only screen and (min-width:800px){
    .label{
        display:block;
        font-size:16px;
        padding:4px 15px
    }
    .top-right{
        position:absolute;
        top:438px;
        right:0;
        margin:0!important;
        padding:0!important;
        -webkit-transform:rotate(90deg) scaleX(-1);
        -ms-transform:rotate(90deg) scaleX(-1);
        transform:rotate(90deg) scaleX(-1);
        -webkit-transform-origin:top right;
        -ms-transform-origin:top right;
        transform-origin:top right
    }
    .top-right .content{
        -webkit-transform:scaleX(-1);
        -ms-transform:scaleX(-1);
        transform:scaleX(-1)
    }
}
@media only screen and (min-width:1200px){
    .footerRight{
        padding-bottom:80px
    }
    .pointer{
        position:absolute;
        width:40px;
        height:40px;
        background:none;
        border:4px solid #000000;
        opacity:07;
        -webkit-transform:translate(-50%,-50%);
        -ms-transform:translate(-50%,-50%);
        transform:translate(-50%,-50%);
        border-radius:70%;
        top:50%;
        left:50%;
        pointer-events:none;
        -webkit-box-sizing:border-box;
        box-sizing:border-box
    }
}
@font-face{
    font-family:"gt_haptikregular";
    src:url("../assets/fonts/haptik/gt-haptik-regular-2-webfont.woff2") format("woff2"),url("../assets/fonts/haptik/gt-haptik-regular-2-webfont.woff") format("woff");
    font-weight:normal;
    font-style:normal
}
body{
    font-family:"gt_haptikregular"
}
h1,h2,h3{
    color:#1E1E1E;
    font-family:"gt_haptikregular"
}

}
h2{
    font-size:22px;
    font-size:1.375rem
}
h3{
    font-size:20px;
    font-size:1.25rem;
    margin-top:88px;
    margin-top:6.5rem;
    margin-bottom:16px;
    line-height:1.4
}
.footerLeft h3{
    margin-bottom:8px
}
li{
    list-style:none;
    font-size:17px;
    font-size:1.0625rem;
    line-height:34px;
    color:#64697C
}
.intro h1{
    font-size:27px;
    font-size:1.6875rem;
    margin:0;
    margin-bottom: 106px;
    font-weight:700;
    text-align:left;
    line-height:35px
}
.intro p{
    font-size:21px;
    font-size:1.3125rem;
    line-height:34px;
    text-align:left;
    margin:0
}
.constraint .intro--work h1{
    margin:0 0 6px 0
}
p{
    color:#64697C;
    font-size:16px;
    font-size:1rem;
    line-height:1.6;
    margin:16px 0
}
.other-work p.home-role,.thumbnail-container p.home-role{
    font-size:16px;
    color:#1E1E1E;
    margin-bottom:106px;
    margin-top:8px;
    color:#64697C!important
}
.footerRight a,a{
    color:#1E1E1E;
    text-decoration:none;
    transition:opacity 0.3s ease-out;
    -moz-transition:opacity 0.3s ease-out;
    -webkit-transition:opacity 0.3s ease-out;
    -o-transition:opacity 0.3s ease-out
}
a:hover{
    opacity:0.8
}
.desktop-nav{
    display:none
}
.desktop-nav a{
    font-size:20px;
    font-size:1.25rem;
    text-decoration:none
}
.about a{
    color:#64697C;
    font-size:18px;
    font-size:1.125rem;
    border-bottom:1px solid #1E1E1E
}
.testimonial p{
    font-size:24px;
    font-size:1.4375rem;
    line-height:43px;
    font-style:italic;
    color:#1E1E1E;
    margin-bottom:16px
}
.testimonial .testimonial--from{
    font-size:19px;
    font-size:1.1875rem;
    color:#64697C;
    font-style:normal;
    margin:40px 0;
    line-height:28px
}
.intro--paragraph p{
    margin:0 0 24px 0
}
.other-work p,.thumbnail-container p{
    font-size:20px;
    margin-top:24px;
    margin-bottom:40px;
    color:#1E1E1E
}
.intro--paragraph h1{
    font-size:32px;
    font-size:2rem;
    margin-bottom:32px
}
@media only screen and (min-width:600px){
    .testimonial{
        margin:80px 0 100px 0
    }
    .intro h1{
        padding:0 0.8333%
    }
    .intro--work p{
        padding:0 0.8333%
    }
    a{
        font-size:22px;
        font-size:1.2rem;
        text-decoration:none
    }
}
.desktop-nav{
    position:absolute;
    right:4em;
    top:20px
}
.desktop-nav a{
    margin-left:20px;
    font-size:15px
}
@media only screen and (min-width:600px){
    .constraint .intro--work h1{
        margin:0 0 16px 0
    }
    .intro p.main-strapline{
        font-size:30px;
        font-size:1.875rem;
        line-height:47px
    }
    .intro p{
        font-size:22px;
        font-size:1.375rem;
        line-height:40px;
        text-align:left
    }
    p{
        color:#64697C;
        font-size:17px;
        font-size:1.0625rem;
        line-height:36px;
        margin:24px 0
    }
    h2{
        font-size:28px;
        font-size:1.75rem
    }
    h3{
        font-size:24px;
        font-size:1.5rem;
        margin-top:40px;
        margin-top:2.5rem
    }
    .testimonial p{
        font-size:25px;
        font-size:1.5625rem;
        line-height:45px;
        font-style:italic;
        color:#1E1E1E
    }
    .testimonial .testimonial--from{
        font-size:19px;
        font-size:1.1875rem;
        color:#64697C;
        font-style:normal
    }
}
@media only screen and (min-width:768px){
    .intro h1{
        font-size:32px;
        font-size:2rem;
        margin:0 0 60px 0;
        text-align:left;
        line-height:45px
    }
}
@media only screen and (min-width:1024px){
    h1,h2,h3{
        letter-spacing:0
    }
    .intro h1{
        font-size:40px;
        font-size:2.5rem;
        margin:0 0 100px 0;
        text-align:left;
        line-height:53px
    }
    .other-work p,.thumbnail-container p{
        font-size:24px
    }
    .other-work p.home-role,.thumbnail-container p.home-role{
        font-size:20px;
        margin-top:8px;
        color:#1E1E1E
    }
}
@media only screen and (min-width:2000px){
    .intro h1{
        font-size:48px;
        font-size:3rem;
        margin-bottom:0;
        line-height:1.3
    }
}
.intro--paragraph .case-study-contents{
    padding:24px;
    background:#f4f4f4;
    border-radius:8px;
    margin-top:56px;
    margin-bottom:56px
}
.intro--paragraph .case-study-contents h2{
    margin-top:12px
}
.intro--paragraph .case-study-contents ul{
    margin-left:0
}
.intro--paragraph .case-study-contents ul li{
    list-style:none!important
}
.intro--paragraph .case-study-contents ul li a{
    font-size:20px;
    font-size:1.25rem;
    line-height:2.3;
    border-bottom:1px solid
}
.go-top{
    position:fixed;
    bottom:5%;
    right:3%;
    padding:20px;
    display:none;
    cursor:pointer;
    -webkit-font-smoothing:antialiased
}
.go-top:after{
    font-family:FontAwesome;
    content:"\f106";
    background-color:#1E1E1E;
    padding:10px 16px;
    color:#fff;
    position:absolute;
    bottom:10px;
    font-size:32px;
    border-radius:100%
}
body.homepage .grid-container .col-span-3:first-child{
    margin-left:0!important
}
body.homepage .grid-container .col-span-3:last-child{
    margin-right:0!important
}
.intro.intro--work{
    margin-bottom:50px
}
.incoder-logo-mobile{
    display:block
}
.incoder-logo-desktop{
    display:none
}
.intro--paragraph{
    max-width:700px;
    margin-left:0;
    margin-bottom:24px
}
.intro--testimonial{
    max-width:900px;
    margin-left:0
}
.intro--paragraph h2{
    margin-top:40px;
    margin-bottom:24px
}
ul.lozenge{
    margin:0
}
ul.lozenge li{
    list-style:none!important;
    background:#f4f4f4;
    display:inline-block;
    padding:4px 16px;
    border-radius:100px;
    font-size:15px;
    margin-bottom:8px
}
.case-study img{
    border-radius:6px
}
.case-study .col-span-3:first-child{
    margin-left:0
}
.case-study .col-span-3:last-child{
    margin-right:0
}
.case-study .col-span-12{
    margin:0
}
.volvo-wires img{
    margin-bottom:1em!important
}
.thumbnail-container a:hover{
    opacity:0.9
}
.other-work{
    margin:30px 0 0
}
.other-work h2{
    margin-bottom:40px

}
.mp4-container{
    margin-bottom:16px
}
.work img{
    margin-bottom:16px
}
@media only screen and (min-width:800px){
    .intro.intro--work{
        margin-bottom:100px
    }
    .thumbnail-container img{
        margin-bottom:0px;
        margin-bottom:0rem
    }
    .intro--paragraph{
        max-width:700px;
        margin:0 0 120px 0
    }
    .intro--testimonial{
        max-width:900px;
        margin:0 0 120px 8%
    }
    .intro--paragraph h2{
        margin-bottom:30px
    }
    .banner{
        margin-bottom:80px
    }
}
@media only screen and (min-width:600px){
    .margin-top{
        margin-top:60px
    }
    img.first{
        margin-top:100px
    }
    img.third{
        margin-top:60px
    }
    .work img{
        margin-bottom:0px;
        margin-bottom:0rem
    }
    .thumbnail-container{
        margin-top:6vw
    }
}
img.first{
    margin-top:30px
}
img.third{
    margin-top:30px
}
@media only screen and (min-width:800px){
    .incoder-logo-mobile{
        display:none
    }
    .incoder-logo-desktop{
        display:block
    }
}
@media only screen and (min-width:1200px){
    .intro,.intro--paragraph{
        margin:0 0 120px 8%
    }
    .archive .work img{
        margin-bottom:30px
    }
    .work .col-span-3 img{
        margin-bottom:0.5em
    }
    .work img{
        margin-bottom:80px
    }
    .testimonial--from{
        margin-bottom:80px
    }
    .mp4-container{
        margin-bottom:80px
    }
    .case-study .other-work{
        margin:80px 0
    }
    .case-study .other-work h2{
        margin-bottom:24px
    }
}
.animation-container{
    width:100%;
    background:#f4f4f4;
    margin:auto;
    text-align:center
}
.animation-container img{
    max-width:550px;
    margin:0
}
.grid-container .row{
    overflow:visible
}
.grid-container .thumb-wrapper{
    border-radius:8px;
    overflow:hidden
}
.grid-container .thumb-wrapper a{
    display:block;
    border-radius:8px
}
.grid-container img{
    width:100%;
    border-radius:8px;
    display:block;
    -webkit-transition:-webkit-transform 2s ease;
    transition:-webkit-transform 2s ease;
    transition:transform 2s ease;
    transition:transform 2s ease,-webkit-transform 2s ease;
    -webkit-transform:scale(1);
    -ms-transform:scale(1);
    transform:scale(1)
}
.grid-container img:hover{
    -webkit-transform:scale(1.1);
    -ms-transform:scale(1.1);
    transform:scale(1.1)
}
.thumbnail-container{
    display:table
}
@media only screen and (min-width:2000px){
    .intro,.intro--paragraph{
        margin:0 0 120px 8%
    }
    .other-work p,.thumbnail-container p{
        font-size:32px;
        margin-top:24px
    }
    .work img{
        margin-bottom:200px
    }
    .mp4-container{
        margin-bottom:200px
    }
}
.menu{
    position:absolute;
    top:28px;
    right:12px;
    height:46px;
    width:46px;
    display:inline-block
}
.menu-link{
    width:100%;
    height:100%;
    position:absolute;
    z-index:2
}
.hamburger-icon{
    position:absolute;
    width:24px;
    height:14px;
    margin:auto;
    left:0;
    top:0;
    right:-10px;
    bottom:1px
}
.hamburger-bar{
    background-color:#000000;
    height:3px;
    width:100%;
    position:absolute;
    left:0;
    -webkit-transition:all 0.25s ease-in-out;
    transition:all 0.25s ease-in-out
}
.open .hamburger-bar{
    background-color:#fff
}
.hamburger-bar-2{
    top:0;
    bottom:0;
    margin:auto
}
.hamburger-bar-3{
    bottom:0
}
.menu.open .hamburger-bar-1{
    -webkit-transform:translateY(7px) translateY(-50%) rotate(45deg);
    -ms-transform:translateY(7px) translateY(-50%) rotate(45deg);
    transform:translateY(7px) translateY(-50%) rotate(45deg)
}
.menu.open .hamburger-bar-2{
    opacity:0
}
.menu.open .hamburger-bar-3{
    -webkit-transform:translateY(-7px) translateY(50%) rotate(-45deg);
    -ms-transform:translateY(-7px) translateY(50%) rotate(-45deg);
    transform:translateY(-7px) translateY(50%) rotate(-45deg)
}
.menu-overlay{
    background-color:#111111;
    color:#fffff;
    height:100%;
    width:100%;
    position:fixed;
    text-align:center;
    -webkit-transition:opacity 0.2s ease-in-out;
    transition:opacity 0.2s ease-in-out;
    z-index:1;
    opacity:0;
    visibility:hidden;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center
}
.menu-overlay.open{
    opacity:1;
    visibility:visible
}
.prompt{
    text-align:center;
    position:absolute;
    top:50%;
    left:50%;
    -webkit-transform:translate(-50%,-50%);
    -ms-transform:translate(-50%,-50%);
    transform:translate(-50%,-50%)
}
nav{
    position:absolute;
    height:auto;
    width:100%;
    top:50%;
    -webkit-transform:translateY(-50%);
    -ms-transform:translateY(-50%);
    transform:translateY(-50%);
    font-size:50px;
    font-family:"gt_haptikregular";
    font-weight:400;
    text-align:center
}
nav a{
    color:#fff;
    font-size:24px;
    font-family:"gt_haptikregular"
}
nav ul{
    list-style:none;
    padding:0;
    display:inline-block;
    position:relative;
    margin:25px
}
nav li{
    display:block;
    padding:5px;
    position:relative;
    opacity:1;
    margin:5px
}
ul.one{
    width:87.563%
}
.display-inline{
    display:inline-block;
    margin:0 10px 0 10px
}
@media only screen and (min-width:600px){
    .menu{
        top:68px
    }
}
@media only screen and (min-width:800px){
    .menu{
        display:none
    }
}
.col-span-1,.col-span-2,.col-span-3,.col-span-4,.col-span-5{
    width:100%
}
@media only screen and (min-width:600px){
    .row{
        display:-webkit-box;
        display:-moz-box;
        display:-ms-box;
        display:box;
        -webkit-box-lines:multiple;
        -moz-box-lines:multiple;
        -ms-box-lines:multiple;
        box-lines:multiple;
        width:100%;
        margin-top:0.5rem
    }
    .col{
        -webkit-box-flex:1;
        -ms-box-flex:1;
        box-flex:1;
        width:6.6666%;
        margin:0 1.8333% 1.8333% 0.8333%;
        vertical-align:top
    }
    .row.wide-fit{
        margin-left:-0.8333%;
        margin-right:-0.8333%
    }
    .row.center{
        -webkit-box-pack:center;
        -ms-box-pack:center;
        box-pack:center
    }
    .center .col{
        -webkit-box-flex:1;
        -ms-box-flex:1;
        box-flex:1
    }
    .col-span-1{
        width:6.6666%
    }
    .col-span-2{
        width:14.9994%
    }
    .col-span-3{
        width:23.3324%
    }
    .col-span-4{
        width:31.6654%
    }
    .col-span-5{
        width:39.9984%
    }
    .col-span-6{
        width:48.3314%
    }
    .col-span-7{
        width:56.6644%
    }
    .col-span-8{
        width:64.9974%
    }
    .col-span-9{
        width:73.3304%
    }
    .col-span-10{
        width:81.6634%
    }
    .col-span-11{
        width:89.9964%
    }
    .col-span-12{
        width:98.3294%
    }
    .fixed-width{
        -webkit-box-flex:0;
        -ms-box-flex:0;
        box-flex:0;
        width:500px;
        background-color:rgba(255,0,0,0.1)!important
    }
}
.logo{
    max-width:36px;
    height:auto
}
header{
    margin-top:4em;
    padding:0
}
.intro{
    max-width:600px;
    margin-top:100px;
    padding:0;
    margin-bottom:30px
}
@media only screen and (min-width:600px){
    .logo{
        max-width:50px
    }
    header{
        margin-top:4em;
        padding:0 0.5em
    }
    .desktop-nav a{
        margin-left:36px;
        font-size:19px;
        display:inline-block;
        color:#1E1E1E
    }
}
@media only screen and (min-width:800px){
    .intro{
        max-width:800px;
        margin-top:200px;
        padding:0 0.5em;
        margin-bottom:100px
    }
    .desktop-nav-active{
        border-bottom:1px solid #000
    }
    .desktop-nav{
        display:block
    }
}
@media only screen and (min-width:2000px){
    .intro{
        max-width:900px;
        margin-bottom:0
    }
}
.client-logos{
    display:none
}
@media only screen and (min-width:1024px){
    .client-logos{
        display:block
    }
}
.about{
    margin-bottom:80px
}
.blobs{
    -webkit-filter:url("#goo");
    filter:url("#goo");
    position:fixed;
    top:0;
    left:0;
    bottom:0;
    right:0
}
.blob{
    position:absolute;
    margin:auto;
    top:0;
    bottom:0;
    right:0;
    left:0;
    width:30px;
    height:30px;
    border-radius:50%;
    background-color:#1E1E1E
}
.blob:first-child{
    -webkit-animation:blob-left-anim cubic-bezier(0.77,0,0.175,1) 2s infinite;
    animation:blob-left-anim cubic-bezier(0.77,0,0.175,1) 2s infinite
}
.blob:nth-child(2){
    -webkit-animation:blob-right-anim cubic-bezier(0.77,0,0.175,1) 2s infinite;
    animation:blob-right-anim cubic-bezier(0.77,0,0.175,1) 2s infinite
}
@-webkit-keyframes blob-left-anim{
    0%{
        -webkit-transform:scale(1) translate(0,0);
        transform:scale(1) translate(0,0)
    }
    33%{
        -webkit-transform:scale(0.55,0.5) translate(80px,0);
        transform:scale(0.55,0.5) translate(80px,0)
    }
    66%{
        -webkit-transform:scale(0.8) translate(0,0);
        transform:scale(0.8) translate(0,0)
    }
    to{
        -webkit-transform:scale(1) translate(0,0);
        transform:scale(1) translate(0,0)
    }
}
@keyframes blob-left-anim{
    0%{
        -webkit-transform:scale(1) translate(0,0);
        transform:scale(1) translate(0,0)
    }
    33%{
        -webkit-transform:scale(0.55,0.5) translate(80px,0);
        transform:scale(0.55,0.5) translate(80px,0)
    }
    66%{
        -webkit-transform:scale(0.8) translate(0,0);
        transform:scale(0.8) translate(0,0)
    }
    to{
        -webkit-transform:scale(1) translate(0,0);
        transform:scale(1) translate(0,0)
    }
}
@-webkit-keyframes blob-right-anim{
    0%{
        -webkit-transform:scale(1) translate(0,0);
        transform:scale(1) translate(0,0)
    }
    33%{
        -webkit-transform:scale(0.55,0.5) translate(-80px,0);
        transform:scale(0.55,0.5) translate(-80px,0)
    }
    66%{
        -webkit-transform:scale(0.8) translate(0,0);
        transform:scale(0.8) translate(0,0)
    }
    to{
        -webkit-transform:scale(1) translate(0,0);
        transform:scale(1) translate(0,0)
    }
}
@keyframes blob-right-anim{
    0%{
        -webkit-transform:scale(1) translate(0,0);
        transform:scale(1) translate(0,0)
    }
    33%{
        -webkit-transform:scale(0.55,0.5) translate(-80px,0);
        transform:scale(0.55,0.5) translate(-80px,0)
    }
    66%{
        -webkit-transform:scale(0.8) translate(0,0);
        transform:scale(0.8) translate(0,0)
    }
    to{
        -webkit-transform:scale(1) translate(0,0);
        transform:scale(1) translate(0,0)
    }
}
@-webkit-keyframes apester{
    0%{
        -webkit-transform:scale(1);
        transform:scale(1);
        opacity:1
    }
    20%{
        -webkit-transform:scale(1);
        transform:scale(1);
        opacity:0
    }
    40%{
        -webkit-transform:scale(0.5);
        transform:scale(0.5);
        opacity:0
    }
    66%{
        -webkit-transform:scale(0.8);
        transform:scale(0.8);
        opacity:1
    }
    to{
        -webkit-transform:scale(1);
        transform:scale(1);
        opacity:1
    }
}
@keyframes apester{
    0%{
        -webkit-transform:scale(1);
        transform:scale(1);
        opacity:1
    }
    20%{
        -webkit-transform:scale(1);
        transform:scale(1);
        opacity:0
    }
    40%{
        -webkit-transform:scale(0.5);
        transform:scale(0.5);
        opacity:0
    }
    66%{
        -webkit-transform:scale(0.8);
        transform:scale(0.8);
        opacity:1
    }
    to{
        -webkit-transform:scale(1);
        transform:scale(1);
        opacity:1
    }
}
.apester{
    position:absolute;
    height:28px;
    width:28px;
    left:calc(50% - 14px);
    top:calc(50% - 14px);
    -webkit-animation:apester cubic-bezier(0.77,0,0.175,1) 2s infinite;
    anima


}









 .swiper {
  width: 100%;
  height: 100%; /* Use viewport height */
  z-index: 0;
}

.swiper-slide {
  text-align: center;
  font-size: 18px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.swiper-slide img {
  display: flex;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Media queries for responsiveness */

/* Media queries for responsiveness */

@media (max-width: 2400px) {
.swiper {
height: 70vh;
}
.swiper-slide img {
height: 70vh;
}
}

@media (max-width: 1600px) {
.swiper {
height: 60vh;
}
.swiper-slide img {
height: 60vh;
}
}


@media (max-width: 1400px) {
.swiper {
height: 50vh;
}
.swiper-slide img {
height: 50vh;
}
}


@media (max-width: 900px) {
.swiper {
height: 40vh;
}
.swiper-slide img {
height: 40vh;
}
}

@media (max-width: 800px) {
.swiper {
height: 30vh;
}
.swiper-slide img {
height: 30vh;
}
}

@media (max-width: 400px) {
.swiper {
height: 30vh;
}
.swiper-slide img {
height: 10vh;
}
}

   /**
 * Swiper 10.3.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: September 28, 2023
 */
@font-face {
    font-family: swiper-icons;
    src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: #007aff
}

:host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    overflow: clip;
    list-style: none;
    padding: 0;
    z-index: 0;
    display: block
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function,initial);
    box-sizing: content-box
}

.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper {
    transform: translate3d(0px,0,0)
}

.swiper-horizontal {
    touch-action: pan-y
}

.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform,height
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d {
    perspective: 1200px
}

.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide {
    transform-style: preserve-3d
}

.swiper-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-css-mode.swiper-horizontal>.swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-css-mode.swiper-vertical>.swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
    scroll-snap-type: none
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: none
}

.swiper-css-mode.swiper-centered>.swiper-wrapper::before {
    content: '';
    flex-shrink: 0;
    order: 9999
}

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop:always}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    margin-inline-start:var(--swiper-centered-offset-before)}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper: :before {
    height:100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    margin-block-start:var(--swiper-centered-offset-before)}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper: :before {
    width:100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0,0,0,.15)
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color,var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(360deg)
    }
}

.swiper-virtual .swiper-slide {
    -webkit-backface-visibility: hidden;
    transform: translateZ(0)
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
    height: 1px;
    width: var(--swiper-virtual-size)
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
    width: 1px;
    height: var(--swiper-virtual-size)
}

:root {
    --swiper-navigation-size: 44px
}

.swiper-button-next,.swiper-button-prev {
    position: absolute;
    top: var(--swiper-navigation-top-offset,50%);
    width: calc(var(--swiper-navigation-size)/ 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - (var(--swiper-navigation-size)/ 2));
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color,var(--swiper-theme-color))
}

.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none
}

.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev {
    display: none!important
}

.swiper-button-next svg,.swiper-button-prev svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform-origin: center
}

.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg {
    transform: rotate(180deg)
}

.swiper-button-prev,.swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset,10px);
    right: auto
}

.swiper-button-next,.swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset,10px);
    left: auto
}

.swiper-button-lock {
    display: none
}

.swiper-button-next:after,.swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none!important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1
}

.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after {
    content: 'prev'
}

.swiper-button-next,.swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset,10px);
    left: auto
}

.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after {
    content: 'next'
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: .3s opacity;
    transform: translate3d(0,0,0);
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled {
    display: none!important
}

.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction {
    bottom: var(--swiper-pagination-bottom,8px);
    top: var(--swiper-pagination-top,auto);
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(.33)
}

.swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));
    height: var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));
    display: inline-block;
    border-radius: var(--swiper-pagination-bullet-border-radius,50%);
    background: var(--swiper-pagination-bullet-inactive-color,#000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, .2)
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet:only-child {
    display: none!important
}

.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color,var(--swiper-theme-color))
}

.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets {
    right: var(--swiper-pagination-right,8px);
    left: var(--swiper-pagination-left,auto);
    top: 50%;
    transform: translate3d(0px,-50%,0)
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap,6px) 0;
    display: block
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: .2s transform,.2s top
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap,4px)
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform,.2s left
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform,.2s right
}

.swiper-pagination-fraction {
    color: var(--swiper-pagination-fraction-color,inherit)
}

.swiper-pagination-progressbar {
    background: var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color,var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top
}

.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size,4px);
    left: 0;
    top: 0
}

.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar {
    width: var(--swiper-pagination-progressbar-size,4px);
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    border-radius: var(--swiper-scrollbar-border-radius,10px);
    position: relative;
    touch-action: none;
    background: var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))
}

.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled {
    display: none!important
}

.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal {
    position: absolute;
    left: var(--swiper-scrollbar-sides-offset,1%);
    bottom: var(--swiper-scrollbar-bottom,4px);
    top: var(--swiper-scrollbar-top,auto);
    z-index: 50;
    height: var(--swiper-scrollbar-size,4px);
    width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))
}

.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar {
    position: absolute;
    left: var(--swiper-scrollbar-left,auto);
    right: var(--swiper-scrollbar-right,4px);
    top: var(--swiper-scrollbar-sides-offset,1%);
    z-index: 50;
    width: var(--swiper-scrollbar-size,4px);
    height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));
    border-radius: var(--swiper-scrollbar-border-radius,10px);
    left: 0;
    top: 0
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center
}

.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain
}

.swiper-slide-zoomed {
    cursor: move;
    touch-action: none
}

.swiper .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000
}

.swiper-free-mode>.swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto
}

.swiper-grid>.swiper-wrapper {
    flex-wrap: wrap
}

.swiper-grid-column>.swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column
}

.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-fade .swiper-slide-active {
    pointer-events: auto
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-cube {
    overflow: visible
}

.swiper-cube .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%
}

.swiper-cube .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-cube.swiper-rtl .swiper-slide {
    transform-origin: 100% 0
}

.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible
}

.swiper-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 100%;
    opacity: .6;
    z-index: 0
}

.swiper-cube .swiper-cube-shadow:before {
    content: '';
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    filter: blur(50px)
}

.swiper-cube .swiper-slide-next+.swiper-slide {
    pointer-events: auto;
    visibility: visible
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-flip {
    overflow: visible
}

.swiper-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1
}

.swiper-flip .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-creative .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: transform,opacity,height
}

.swiper-cards {
    overflow: visible
}

.swiper-cards .swiper-slide {
    transform-origin: center bottom;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden
}





#loader {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #111111;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    z-index:99999
}

.spinner--container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position:relative
}

.logo--spinner {
    position: absolute;
    width:50px
}

.spinner {
    width: 200px;
    opacity: 0.5;
    -webkit-animation: rotation 4800ms infinite linear;
    animation: rotation 4800ms infinite linear;
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin:50% 50%
}

@-webkit-keyframes rotation {
    0% {
        -webkit-transform: rotate(0deg);
        transform:rotate(0deg)
    }

    to {
        -webkit-transform: rotate(360deg);
        transform:rotate(360deg)
    }
}

@keyframes rotation {
    0% {
        -webkit-transform: rotate(0deg);
        transform:rotate(0deg)
    }

    to {
        -webkit-transform: rotate(360deg);
        transform:rotate(360deg)
    }
}



.orange {
  color:#000000;
  background: none;
}

.demo {
  padding: 2rem;
  font-size: 1.5rem;
  text-align: left;
  height: 10vh;

}

/* TEEEEESTIIIIIIIIIIIIIIIIIINGGG. ===== BB Video Grid (isolated module) ===== */

.bb-video-grid{
  width: 100%;
}

.bb-video-row{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}

.bb-video-card{
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  text-align: left;
  cursor: pointer;
}

.bb-video-thumb{
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 16px;
  overflow: hidden;
  background: #000;
}

.bb-video-thumb video{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.bb-video-title{
  margin: 16px 0 0;
  font-size: 22px; /* adjust според твоя стил */
  line-height: 1.2;
}

/* Responsive */
@media (max-width: 900px){
  .bb-video-row{
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* ===== Overlay Modal ===== */

.bb-video-modal{
  position: fixed;
  inset: 0;
  display: none;            /* hidden by default */
  z-index: 9999;
}

.bb-video-modal.is-open{
  display: block;
}

.bb-video-modal__backdrop{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.85);
}

.bb-video-modal__dialog{
  position: relative;
  width: min(1100px, 92vw);
  margin: 6vh auto 0;
  border-radius: 16px;
  overflow: hidden;
  background: #000;
}

.bb-video-modal__player{
  width: 100%;
  height: auto;
  display: block;
  max-height: 80vh;
}

.bb-video-modal__close{
  position: absolute;
  top: 12px;
  right: 12px;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.14);
  color: #fff;
  cursor: pointer;
  font-size: 20px;
  line-height: 44px;
}

/* ===== Homepage / Header / Video module patches (v5) ===== */

/* Remove custom cursor completely (even if old CSS remains) */
body{ cursor: auto !important; }
.pointer{ display:none !important; }

/* Header: align logo + nav and reduce logo ~20% */
.header .constraint{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.header .logo{
  display:block;
  height: 28px;  /* ~20% smaller */
  width:auto;
  transform: translateY(-1px); /* optical align */
}

.desktop-nav{
  display:flex;
  align-items:center;
  gap:32px;
}

.desktop-nav a{
  line-height: 28px;
}

/* Hero: equal top/bottom spacing (not full viewport) */
body.homepage .constraint--home{
  padding-top: 60px;
  padding-bottom: 60px;
}

/* ===== BB Video Grid ===== */
.bb-video-grid{ margin-top: 6vw; }

.bb-video-row{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:32px;
}

@media (max-width: 900px){
  .bb-video-row{ grid-template-columns: 1fr; gap:20px; }
}

.bb-video-card{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  text-align:left;
  cursor:pointer;
}

.bb-video-thumb{
  width:100%;
  aspect-ratio: 16 / 9;
  overflow:hidden;
  border-radius: 8px;
  background:#000;
}

.bb-video-thumb video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1);
  transition:transform 2s ease;
}

.bb-video-card:hover .bb-video-thumb video{ transform:scale(1.08); }

.bb-video-title{ margin-top:24px; margin-bottom:40px; }

/* ===== Modal (fade + scale) ===== */
.bb-video-modal{
  position:fixed;
  inset:0;
  z-index:9999;

  display:flex;
  align-items:flex-start;
  justify-content:center;

  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition: opacity 180ms ease, visibility 180ms ease;
}

.bb-video-modal.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.bb-video-modal__backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,0.85);
  cursor:pointer;
}

.bb-video-modal__dialog{
  position:relative;
  width: min(1100px, 92vw);
  margin: 6vh auto 0;
  border-radius:12px;
  overflow:hidden;
  background:#000;

  transform: translateY(8px) scale(0.96);
  opacity:0;
  transition: transform 180ms ease, opacity 180ms ease;
  will-change: transform, opacity;
}

.bb-video-modal.is-open .bb-video-modal__dialog{
  transform: translateY(0) scale(1);
  opacity:1;
}

/* Ensure close button sits ABOVE video click layer */
.bb-video-modal__player{
  position:relative;
  z-index:1;
  width:100%;
  height:auto;
  max-height:80vh;
  display:block;
}

.bb-video-modal__close{
  position:absolute;
  top:12px;
  right:12px;
  width:44px;
  height:44px;
  border:0;
  border-radius:999px;
  background: rgba(255,255,255,0.14);
  color:#fff;
  cursor:pointer;
  font-size:20px;
  line-height:44px;
  z-index:5;
}

/* ===============================
   Header vertical fix (FINAL)
   =============================== */

.header{
  padding: 0;
}

.header .constraint{
  min-height: 64px;
  padding-top: 0;
  padding-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header .logo{
  display: block;
  height: 28px;
  width: auto;
  margin: 0;
  transform: translateY(-1px);
}

.desktop-nav{
  display: flex;
  align-items: center;
  gap: 32px;
  margin: 0;
}

.desktop-nav a{
  line-height: 28px;
}

  body.kiccbacc .app-store-cta--top{
    margin-top: 18px;
  }
}

/* ===============================
   KiccBacc – App Store CTA (top + bottom) + Hero layout
   Scoped ONLY to this page
   =============================== */

body.kiccbacc .kiccbacc-hero{
  display:flex;
  align-items:flex-start;
  justify-content: space-between;
  gap: 32px;
}

body.kiccbacc .kiccbacc-hero__content{
  max-width: 720px;
}

/* Place the TOP badge on the right, aligned with the title block */
body.kiccbacc .app-store-cta--top{
  margin-top: 6px;       /* optical align with H1 cap-height */
  align-self: flex-start;
}

/* Use the SAME badge treatment as the bottom one (no extra black pill) */
body.kiccbacc .app-store-cta a{
  display:inline-flex;
  align-items:center;
  padding: 0;            /* no wrapper padding */
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  transform: none;
  transition: opacity 0.18s ease;
}

body.kiccbacc .app-store-cta a:hover{
  opacity: 0.85;         /* subtle hover, not "floaty" */
}

/* Keep the badge crisp */
body.kiccbacc .app-store-cta img{
  display:block;
  height:48px;
}

/* Bottom spacing stays nice */
body.kiccbacc .app-store-cta--bottom{
  margin-top: 80px;
  margin-bottom: 40px;
}

/* Mobile: stack */
@media (max-width: 768px){
  body.kiccbacc .kiccbacc-hero{
    flex-direction: column;
    align-items:flex-start;
  }
  body.kiccbacc .app-store-cta--top{
    margin-top: 18px;
  }
}

/* ===============================
   KiccBacc – Alignment fixes (TOP right + bottom aligned)
   Scoped ONLY to body.kiccbacc
   =============================== */

/* Make intro container wide enough for a right-side CTA */
body.kiccbacc .intro.intro--work{
  max-width: 1000px;
  width: 100%;
}

/* Hero: force two columns */
body.kiccbacc .intro.intro--work .kiccbacc-hero{
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 32px;
}

body.kiccbacc .intro.intro--work .kiccbacc-hero__content{
  max-width: 720px;
}

body.kiccbacc .intro.intro--work .app-store-cta--top{
  margin-top: 6px;
  margin-left: auto;     /* pushes it to the right */
}

/* Badge styling (use the badge as-is, no extra pill) */
body.kiccbacc .app-store-cta a{
  display: inline-flex;
  align-items: center;
  padding: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  transform: none;
  transition: opacity 0.18s ease;
}

body.kiccbacc .app-store-cta a:hover{
  opacity: 0.85;
}

body.kiccbacc .app-store-cta img{
  display:block;
  height:48px;
}

/* Bottom CTA should align with the Design System text block */
body.kiccbacc .intro--paragraph .app-store-cta--bottom{
  margin-top: 28px;
  margin-bottom: 0;
}

/* Mobile: stack */
@media (max-width: 768px){
  body.kiccbacc .intro.intro--work .kiccbacc-hero{
    flex-direction: column;
    align-items: flex-start;
  }
  body.kiccbacc .intro.intro--work .app-store-cta--top{
    margin-left: 0;
    margin-top: 18px;
  }
}
