html,body{margin:0;padding:0;width:100%;}
html{font-size:62.5%;/*user's browser setting controls font-size, default is 16px (so now 24px = 2.4rem)*/}
body{font-family:'Sohne', sans-serif;background:var(--coolblue);color:var(--deepslate);box-sizing:border-box;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;/*text-rendering:optimizeSpeed;*/}
::selection{background:var(--deepslate);color:var(--coolblue);}
body:not(.animates) *{transition:none!important;}
/*::-webkit-scrollbar{width:0!important;}*/

@font-face{font-family:'Sohne';src:url('../Fonts/soehne-buch.woff2') format('woff2'),url('../Fonts/soehne-buch.woff') format('woff');font-weight:normal;font-style:normal;font-stretch:normal;font-display:swap;}
@font-face{font-family:'Sohne';src:url('../Fonts/soehne-leicht.woff2') format('woff2'),url('../Fonts/soesoehne-leicht.woff') format('woff');font-weight:300;font-style:normal;font-stretch:normal;font-display:swap;}

:root{
    /*Easing*/
    --sine:cubic-bezier(0.39, 0.575, 0.565, 1);
    --quad:cubic-bezier(0.25, 0.46, 0.45, 0.94);/*cubic-bezier(0.5, 1, 0.89, 1);*/
    --quad-in-out:cubic-bezier(0.455, 0.03, 0.515, 0.955);
    --cubic:cubic-bezier(0.215, 0.61, 0.355, 1);/*cubic-bezier(0.33, 1, 0.68, 1)*/
    --cubic-in-out:cubic-bezier(0.645, 0.045, 0.355, 1);
    /*--quart:cubic-bezier(0.165, 0.84, 0.44, 1);*/
    --quart:cubic-bezier(0.25, 1, 0.5, 1);
    --quart-in-out:cubic-bezier(0.77, 0, 0.175, 1);
    --quint:cubic-bezier(0.23, 1, 0.32, 1);
    --expo:cubic-bezier(0.16, 1, 0.3, 1);
    /*--expo:cubic-bezier(0.19, 1, 0.22, 1);*/
    --back:cubic-bezier(0.175, 0.885, 0.32, 1.275);
    --delay:0s;

    --pearlmist:#F4F5F7;
    --coolblue:#D1D7DD;
    --stonetaupe:#87796F;
    --smokyumber:#5D524A;
    --deepslate:#39434D;
    --charcoal:#1B1B1B;
    --headerh:65px;
}


/* Font settings - medium/500, semibold/600 and bold/700 */
h1,h2,h3,h4,h5,h6,p,q{position:relative;margin:0;padding:0;font-weight:normal;font-style:normal;line-height:1;box-sizing:border-box;}
h1,h2{font-size:1.8rem;line-height:1.35;min-height:2.0rem;font-weight:300;}
h3{font-size:1.6rem;line-height:1.35;min-height:2.0rem;font-weight:300;}
p,ol,ul{font-size:1.4rem;line-height:1.35;min-height:1.9rem;font-weight:300;}
p b{font-weight:normal;}
p a{transition:opacity .3s ease;text-decoration:underline;}
p a:hover{opacity:.5;}
q{display:block;font-size:1.6rem;line-height:1.5;min-height:2.4rem;}
ul{box-sizing:border-box;margin:0;padding:0 0 0 20px;}
li{position:relative;box-sizing:border-box;}
input, textarea, select{font-family:'Sohne';font-size:inherit;line-height:normal;appearance:none;background:none;display:block;color:inherit;box-sizing:border-box;padding:0;margin:0;outline:0;border:0;}
h1+p,h2+p{padding-top:15px;}
h3+p{padding-top:10px;}

/*      Buttons     */
a, button{position:relative;display:inline-block;box-sizing:border-box;margin:0;padding:0;text-decoration:none;border:none;background:none;color:inherit;font-family:inherit;letter-spacing:inherit;line-height:inherit;text-transform:inherit;font-weight:inherit;-moz-user-select:none;-webkit-user-select:none;-webkit-user-drag:none;user-select:none;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);cursor:pointer;touch-action:manipulation;/*removes delay*/}
button:focus{outline:none;}


/*      Media       */
img,video,.lazy{border:0;-moz-user-select:none;-webkit-user-select:none;-webkit-user-drag:none;user-select:none;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);}
picture,img,.lazy svg,video:not(.native-controls){pointer-events:none;}/*with smooth scroll this helps Firefox and Safari with external mouse*/
body.scrolling .lazy .video iframe{pointer-events:none;}/*with smooth scrolling this helps scroll continuously*/
picture, video{width:100%;display:block;height:auto;box-sizing:border-box;padding:0;margin:0;overflow:hidden;}
picture img{position:relative;display:block;width:100%;height:auto;}
.lazy{position:relative;}
.lazy.video:before{content:"";display:block;padding-top:calc(var(--aspect) * 1%);width:100%;pointer-events:none;}/*fix aspect ratio for videos*/
.lazy .video, .lazy .video iframe, .lazy > svg{position:absolute;left:0;top:0;width:100%;height:100%;}
/* Avoid gray flash on iOS Safari while poster loads/decodes */
.lazy.video{background:#000;overflow:hidden;}
.lazy.video .video, .lazy.video video{background:#000;}
/* Slight scale to eliminate sub-pixel gap (black line) at edges */
.lazy.video video, .lazy.video .video-poster{transform:scale(1.02);transform-origin:center center;}
/* Poster image overlay (fades in on load, fades out on play) */
.lazy.video .video-poster{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	object-fit:cover;
	pointer-events:none;
	background:#000;
	z-index:1;
	opacity:0;
	transition:opacity .8s ease-in-out;
}
.lazy.video .video-poster.in{opacity:1;}
.lazy.video .video-poster.out{opacity:0;}
/* Thumbnail (not "poster"!) with play button */
.lazy.video .load-ui{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#000;z-index:2;display:flex;text-align:center;}
.lazy.video .load-ui .lazy{position:absolute;left:0;top:0;width:100%;height:100%;}
.lazy.video .load-ui .lazy video, .lazy.video .load-ui .lazy img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;}
/*.lazy.video .load-ui .play-btn{margin:auto;padding:20px;font-size:2.4rem;background-color:#333;color:#FFF;}*/
.lazy.video .load-ui .play-btn{margin:auto;width:64px;height:74px;border-style:solid;border-width:37px 0px 37px 64px;border-color:transparent transparent transparent #FFF;}
.lazy.video.fade-ui .load-ui{opacity:0;transition:opacity .4s ease-in-out .1s;pointer-events:none;}
.lazy.video.hide-ui .load-ui{display:none;}
.lazy.video.fullscreen{width:100%;height:100vh;}
.lazy.video.fullscreen video{width:100%;height:100%;object-fit:cover;}

/* Animations */
.fade{opacity:0;}
.fade.in{opacity:1;transition:opacity 1s ease-in-out var(--delay);}
.zoom img{opacity:0;transform:scale(1.25,1.25);}
.zoom.in img{opacity:1;transform:scale(1,1);transition:transform 1.2s var(--quart) var(--delay), opacity .6s ease-out var(--delay);}
/* mask-scale works even better with :after using background-color (clip-path is a little slow) */
.mask-scale img{opacity:0;transform:translateY(33%) scale3d(1.2,1.2,1);clip-path:inset(99.5% 0% 0% 0%);-webkit-clip-path:inset(99.5% 0% 0% 0%);}/*not 100% because loading can get blocked*/
.mask-scale.in img{opacity:1;transform:translateY(0px) scale3d(1.0001,1.0001,1);clip-path:inset(0% 0% 0% 0%);-webkit-clip-path:inset(0% 0% 0% 0%);transition:transform 2s var(--expo) var(--delay), opacity .6s ease-out var(--delay), clip-path 2s var(--expo) var(--delay);;}

header{position:fixed;left:0;top:0;width:100%;height:var(--headerh);z-index:10;transition:opacity .8s ease-in-out;}
body.hide-header header{opacity:0;transition:none;}
header.open{height:100%;}
header .logo{position:absolute;left:30px;top:30px;width:227px;height:15px;}
header .logo svg g{transition:fill .4s ease;}
body.dark header .logo svg g{fill:#333;}
header .logo::before{content:"";position:absolute;left:-10px;top:-10px;width:calc(100% + 20px);height:calc(100% + 20px);}
header .menu-overlay{position:absolute;left:0;top:0;width:100%;height:0;background:var(--stonetaupe);overflow:hidden;transition:opacity .5s ease;z-index:3;}
header.open .menu-overlay{height:100vh;}
header:not(.open) .menu-overlay, header.closing .menu-overlay{opacity:0;pointer-events:none;transition:opacity .3s ease;}
header .bg{position:absolute;left:0;top:0;width:calc(100% - 568px);height:100vh;display:none;}
header .bg .lazy{width:100%;height:100%;}
header .bg .lazy img, header .bg .lazy video{width:100%;height:100%;object-fit:cover;}
header.open .bg{display:block;}
header:not(.open) .bg{pointer-events:none;display:none;}
header .tr{position:absolute;right:30px;top:20px;z-index:2;white-space:nowrap;}
header .tr .projects{position:relative;display:inline-block;vertical-align:bottom;font-size:1.4rem;padding:10px 10px 3px 10px;margin-right:27px;color:#FFF;transition:color .4s ease, opacity .3s ease;}
header .tr .toggle-btn{position:relative;display:inline-block;vertical-align:bottom;}
header .tr .music{position:relative;display:inline-block;vertical-align:bottom;margin-right:20px;margin-bottom:3px;cursor:pointer;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);}
header .tr .music::before{content:"";position:absolute;left:-10px;top:-10px;width:calc(100% + 20px);height:calc(100% + 20px);}
header .tr .music .ticker{position:relative;display:inline-block;vertical-align:bottom;font-size:1.2rem;letter-spacing:.15rem;width:100px;height:13px;margin-right:10px;color:#FFF;transition:color .4s ease;text-transform:uppercase;overflow:hidden;}
/*header .tr .music .ticker{mask-image:linear-gradient(-90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 25%, rgba(0,0,0,1) 75%, rgba(0,0,0,0) 100%);-webkit-mask-image:linear-gradient(-90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 25%, rgba(0,0,0,1) 75%, rgba(0,0,0,0) 100%);}*/
header .tr .music .ticker span{position:absolute;right:5px;/*left:0*/top:0;display:block;}
header .tr .music .speaker{position:relative;display:inline-block;vertical-align:bottom;width:25px;transition:opacity .3s ease;}
header .tr .music .speaker .off{width:23px;height:13px;background-image:url("../Grx/speaker_off.svg");background-repeat:no-repeat;}
header .tr .music .speaker .on{width:23px;height:13px;background-image:url("../Grx/speaker_on.svg");background-repeat:no-repeat;display:none;}
header .tr .music.on .speaker .off{display:none;}
header .tr .music.on .speaker .on{display:block;}
header .tr .music.on .speaker .line{will-change:transform;}
header .tr .music .speaker svg .animfill{transition:fill .4s ease;}
header .tr .music .speaker svg .animstroke{transition:stroke .4s ease;}
body.dark header .tr .projects, body.dark header .tr .music .ticker{color:var(--deepslate);}
body.dark header .tr .music .speaker svg .animfill{fill:var(--deepslate);}
body.dark header .tr .music .speaker svg .animstroke{stroke:var(--deepslate);}
header .toggle-btn span{display:block;width:15px;height:1px;margin-bottom:4px;background-color:#FFF;transition:background-color .4s ease, transform .3s ease;will-change:background-color, transform;;}
body.dark header .toggle-btn span{background-color:var(--deepslate);}
header .toggle-btn::before{content:"";position:absolute;left:-20px;top:-22px;width:calc(100% + 40px);height:calc(100% + 40px);}
header .menu{position:absolute;right:0;top:0;width:100%;max-width:568px;height:100vh;background:var(--stonetaupe);color:#FFF;box-sizing:border-box;padding:80px 45px;pointer-events:none;}
header.open .menu{pointer-events:all;}
header .menu .primary{font-size:1.6rem;padding:9px 30px 9px 10px;display:block;}
header .menu .primary span{position:relative;display:inline-block;}
header .menu .primary > span{overflow:hidden;}
header .menu .primary > span > span{transition:transform .6s var(--quart);box-sizing:border-box;padding-left:20px;transform:translateX(-20px);}
header .menu .primary:not(.selected):hover > span > span/*, header .menu .primary.selected > span > span*/{transform:translateX(0px);}
header .menu .primary > span > span::before{content:"";position:absolute;left:0;top:7px;width:15px;height:1px;background:#FFF;}
.close-btn{position:absolute;top:8px;width:50px;height:50px;opacity:0;transition:opacity 0s ease 0s, transform .6s var(--expo);border-radius:100%;}
header .close-btn{left:38px;}
.close-btn span{display:block;width:15px;height:1px;background:#FFF;margin-left:17px;transform:rotate(45deg);}
.close-btn span:nth-of-type(2){transform:translateY(-1px) rotate(-45deg);}
.close-btn:hover{transform:rotate(90deg);}
header.open .close-btn{opacity:1;transition:opacity .8s ease-in-out .6s, transform .6s var(--expo);}
.social{box-sizing:border-box;font-size:0;}
header .social{padding:40px 10px;opacity:0;transition:opacity 0s ease .35s;}
header.open:not(.closing) .social{opacity:1;transition:opacity .8s ease-in-out .5s;}
.social a{display:inline-block;vertical-align:middle;width:18px;height:18px;margin-right:14px;}
.social a::before{content:"";position:absolute;left:-7px;top:-7px;width:calc(100% + 14px);height:calc(100% + 14px);}
.social a.insta{background:url("../Grx/Social/insta.svg") no-repeat;background-size:contain;background-position:center;}
.social a.pin{background:url("../Grx/Social/pinterest.svg") no-repeat;background-size:82%;background-position:center;}
.social a.fb{background:url("../Grx/Social/fb.svg") no-repeat;background-size:82%;background-position:center;}
header .social a.insta{background-image:url("../Grx/Social/insta_white.svg");}
header .social a.pin{background-image:url("../Grx/Social/pinterest_white.svg");}
header .social a.fb{background-image:url("../Grx/Social/fb_white.svg");}
header .b{position:absolute;left:55px;bottom:35px;}
header .b .lazy{width:200px;margin-bottom:15px;}
header .b .lazy img{opacity:.8;transition:opacity .3s ease;}
header .b p{max-width:230px;}
header .b .label{font-size:1.6rem;font-weight:normal;padding-top:12px;}
header .b .label span{display:inline-block;vertical-align:top;background:url("../Grx/tr_arrow.svg") no-repeat;width:14px;height:12px;margin-top:4px;margin-left:8px;transition:transform .3s ease;}

@media (hover:hover){
    header .toggle-btn:hover span:nth-of-type(1){transform:translateY(-1px);}
    header .toggle-btn:hover span:nth-of-type(3){transform:translateY(1px);}
    .social a{transition:opacity .3s ease;}
    .social a:hover{opacity:.5;}
    header .b:hover .lazy img{opacity:1;}
    header .b:hover .label span{transform:translate(1px,-1px);}
    header .tr .projects:hover{opacity:.5;}
    header .tr .music:hover .speaker{opacity:.5;}
}

main{position:relative;width:100%;}
.page{position:relative;width:100%;box-sizing:border-box;font-size:0;padding-top:var(--headerh);}
.page.removing{position:fixed;left:0;top:0;z-index:5;}

/* Standard module */
.m{position:relative;width:100%;box-sizing:border-box;font-size:0;}
.m div{position:relative;box-sizing:border-box;}
.m .l, .m .r{position:relative;display:inline-block;vertical-align:top;width:50%;}
.canoverflow{overscroll-behavior:contain;}

/* Modules */
.intro-logo-anim{position:fixed;left:0;top:0;width:100%;height:100%;z-index:15;pointer-events:none;}
.intro-logo-anim::before{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background:var(--charcoal);transition:opacity 1.6s ease-in-out .6s;}
.intro-logo-anim.in::before{opacity:.5;}
.intro-logo-anim.out{opacity:0;transition:opacity .8s ease-in-out 1s;z-index:9;}
.intro-logo-anim .logo-anim{position:absolute;left:50%;top:50%;width:100px;height:126px;margin:-63px 0 0 -50px;}
/*@media all and (min-width:1900.5px) and (min-height:800px){
    .intro-logo-anim .logo-anim{width:150px;height:189px;margin:-95px 0 0 -75px;}
}*/

.txt-twocol-text{padding:80px 0 50px 0;text-align:center;}
.txt-twocol-text.contact{min-height:calc(100vh - calc(var(--headerh) * 2));padding-top:135px;}
.txt-twocol-text .inner{margin:auto;width:100%;max-width:1920px;padding:0 140px;text-align:left;display:flex;flex-direction:column;}
.txt-twocol-text .a{width:480px;display:block;}
.txt-twocol-text.contact p a{font-weight:normal;text-decoration:none;}
.txt-twocol-text .floating-logo{position:absolute;right:260px;top:0;width:262px;}
.txt-twocol-text .b{width:875px;display:block;align-self:end;padding-top:90px;}
.txt-twocol-text .b .title{width:50%;padding-bottom:15px;}
.txt-twocol-text .b .txt{columns:2;column-gap:115px;margin-top:-35px;}
.txt-twocol-text .b .txt .block{padding-top:35px;break-inside:avoid;}
.txt-twocol-text .b .links{width:50%;padding-top:55px;}
.txt-twocol-text .b .links p a{font-weight:normal;padding:2px 0;text-decoration:none;}
.txt-twocol-text.contact .b{padding-left:25%;}
.txt-twocol-text.contact .b .txt{columns:1;}
.txt-twocol-text.contact .social{padding-top:35px;}
.m.media.full-h.parallax + .txt-twocol-text{padding-top:130px;}

@media all and (min-width:1000.5px) and (max-height:800px){
    .txt-twocol-text.contact{padding-top:80px;}
}

.logo-contact{padding:55px 0 115px 0;text-align:center;}
.logo-contact .inner{margin:auto;width:100%;max-width:1920px;padding:0 180px 0 140px;text-align:left;display:flex;flex-direction:column;}
.logo-contact .logos{align-self:end;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:0;width:585px;}
.logo-contact .logos .el{align-content:center;}
.logo-contact .logos .lazy{width:auto;}
.logo-contact .logos .lazy img{width:auto;transform-origin:0% 50%;transform:scale(.5,.5);}
.logo-contact .logos .el.center-x .lazy img{transform-origin:25% 50%;}
.logo-contact .txt{width:480px;padding-top:90px;}
.logo-contact .txt p a{font-weight:normal;text-decoration:none;}

.m.media{padding:50px 0;}
.m.media.no-padding, .m.media.full-h{padding:0;}
.page .m:first-of-type.media:not(.margin-left){padding-top:0;margin-top:calc(var(--headerh) * -1);z-index:2;}
.page .m:first-of-type.media:not(.margin-left):not(.intro) .lazy{transition:opacity .6s ease-in-out var(--delay);}/*speed up slightly*/
.page .m:first-of-type.media:not(.margin-left):not(.intro)::after{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background:var(--charcoal);opacity:.6;}
.page .m:first-of-type.media:not(.margin-left):not(.intro).in::after{opacity:0;transition:opacity 1.2s ease-in-out .8s;}
.page .m:first-of-type.media:not(.margin-left)::before{content:"";position:absolute;left:0;top:0;width:100%;height:350px;background:linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%);opacity:0;z-index:3;transition:none;pointer-events:none;}
.page .m:first-of-type.media:not(.margin-left).in::before{opacity:.3;transition:opacity 1.2s ease-in-out .8s;}/*small gradient showing after small delay (for global image to be faded out*/
.m.media.margin-left{padding-left:25%;padding-right:30px;}
.page .m:first-of-type.media.margin-left{padding-top:15px;}
.m.media.padding{padding-left:30px;padding-right:30px;}
.m.media .logo-animation{position:absolute;left:0;top:0;width:100%;height:100%;background:linear-gradient(0deg, rgba(0,0,0,.4) 0%, rgba(0,0,0,.6) 100%);z-index:2;}
.m.media .logo-animation .logo-anim{position:absolute;left:50%;top:50%;width:100px;height:126px;margin:-63px 0 0 -50px;}

.m.img-img{padding:50px 0;}
.m.img-img .inner{padding:0 30px;}
.m.img-img .l{padding-right:15px;}
.m.img-img .r{padding-left:15px;}

.m.media-txt{padding:50px 0;text-align:center;}
.m.media-txt .inner{margin:auto;width:100%;max-width:1640px;padding:0 160px 0 190px;text-align:left;display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;}
.m.media-txt .media{width:350px;display:inline-block;vertical-align:top;}
.m.media-txt .txt{width:530px;display:inline-block;vertical-align:top;margin-top:150px;padding-right:50px;}
.m.media-txt .txt p a{font-weight:normal;}
.m.media.full-h + .m.media-txt, .global-project + .m.media-txt{padding-top:60px;}

.m.media.full-h:not(.intro){height:100vh;height:100lvh;}
.m.media.full-h:not(.intro) .lazy, .m.media.full-h:not(.intro) .lazy img{height:100%;object-fit:cover;}

.m.img-details{padding:50px 0;}
.m.img-details .inner{width:100%;padding:0 30px;}
.m.img-details .media.a{display:inline-block;vertical-align:top;width:30%;padding-right:30px;}
.m.img-details .media.b{display:inline-block;vertical-align:top;width:70%;}
.m.img-details .txt{position:absolute;left:30px;bottom:90px;width:17%;padding-right:30px;}

.m.txt{padding:50px 0;text-align:center;}
.m.txt .inner{margin:auto;width:100%;max-width:1920px;padding:0 30px;text-align:left;}
.m.txt.left .inner{padding-right:50%;}
.m.txt.right .inner{padding-left:50%;}
.m.txt .txt{width:480px;}
.m.txt.right .txt{padding-left:15px;width:495px;}
.m.txt p a{font-weight:normal;}

.m.projects{padding:0 0 60px 20%;}
.m.projects .el{display:block;width:100%;font-size:0;}
.m.projects .el.single{padding-right:30px;}
.m.projects .el.double{padding-bottom:15px;}
.m.projects .el.double .media{display:inline-block;vertical-align:top;}
.m.projects .el.double .media:nth-of-type(1){width:40%;margin-right:13%;}
.m.projects .el.double .media:nth-of-type(2){width:26%;}
.m.projects .el + .el{margin-top:60px;}
.m.projects .el p{width:100%;max-width:300px;padding-top:20px;}
.m.projects .progress{position:fixed;left:0;bottom:45px;width:60px;height:200px;overflow:hidden;}
.m.projects .progress::before, .m.projects .progress::after{content:"";position:absolute;left:0;top:0;width:100%;height:75px;background:linear-gradient(0deg, rgba(209,215,221,0) 0%, rgba(209,215,221,1) 100%);z-index:2;pointer-events:none;}
.m.projects .progress::after{top:auto;bottom:0;transform:scaleY(-1);}
.m.projects .progress .scroller{position:absolute;left:0;top:0;}
.m.projects .progress .scroller .num-btn{display:block;font-size:1.2rem;width:50px;height:25px;text-align:right;transition:transform .3s ease;}
.m.projects .progress .scroller .num-btn.selected{transform:translateX(2px);}
.mouse-label{position:fixed;left:0;top:0;font-size:1.6rem;font-weight:normal;color:#FFF;pointer-events:none;z-index:9;transition:opacity .3s ease;will-change:opacity, transform;box-sizing:border-box;padding-left:25px;}
.mouse-label::before{content:"";position:absolute;left:0;top:7px;width:20px;height:1px;background:#FFF;}
.mouse-label.dark{color:var(--deepslate);}
.mouse-label.dark::before{background:var(--deepslate);}
.mouse-label:not(.in){opacity:0;transition:opacity .6s ease-in-out;}

.m.next-project{padding:0;margin-top:50px;color:#FFF;max-height:100vh;overflow:hidden;}
.global-project{color:#FFF;}
.m.next-project a, .global-project a{display:block;width:100%;}
.m.next-project .lazy, .global-project .lazy{width:100%;/*image-rendering: -webkit-optimize-contrast;*/}
.m.next-project .lazy::after, .global-project .lazy::after{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background:var(--charcoal);opacity:.6;transition:opacity .5s ease;}
.m.next-project .txt, .global-project .txt{position:absolute;left:15%;top:15vw;/*115px;*/width:230px;z-index:4;transition:opacity .5s ease;}
/*.m.next-project h3, .global-project h3{display:none;}*/
.m.next-project h3, .global-project h3{display:block;margin-top:15px;padding-left:25px;}
.m.next-project h3::before, .global-project h3::before{content:"";position:absolute;left:0;top:11px;width:15px;height:1px;background:#FFF;}
.fake-h{width:1px;margin-top:50px;}
.global-project{position:fixed;left:0;top:0;width:100%;z-index:9;pointer-events:none;will-change:transform;}
.global-project.remove-overlay .txt{opacity:0;}
.global-project.below{position:absolute;z-index:0;}
/*update 23/3*/
.m.next-project, .global-project{height:100vh;height:100lvh;}
.m.next-project a, .global-project a{height:100%;}
.m.next-project .lazy, .m.next-project .lazy img, .global-project .lazy, .global-project .lazy img{height:100%;object-fit:cover;}

.inquiry-overlay{position:fixed;left:0;top:0;width:100%;height:0;overflow:hidden;}
.inquiry-overlay.open{z-index:11;height:100%;}
.inquiry-overlay .bg{position:absolute;left:0;top:0;width:100%;height:100%;background:var(--charcoal);opacity:0;transition:opacity .3s ease;}
.inquiry-overlay.open:not(.closing) .bg{opacity:.5;transition:opacity .5s ease;}
.inquiry-overlay .custom-form{position:absolute;right:0;top:0;width:100%;max-width:568px;height:100vh;background:var(--pearlmist);color:var(--deepslate);box-sizing:border-box;padding:80px 45px;pointer-events:none;font-size:0;z-index:2;transform:translateX(100%);transition:transform .3s ease;overflow:auto;}
.inquiry-overlay.open:not(.closing) .custom-form{transform:translateX(0%);pointer-events:all;transition:transform 1.2s var(--expo);}
.inquiry-overlay .custom-form .half{display:inline-block;vertical-align:top;width:calc((100% - 20px) / 2);}
.inquiry-overlay .custom-form .half:nth-of-type(2n){margin-left:20px;}
.inquiry-overlay .custom-form input,.inquiry-overlay .custom-form textarea{font-size:1.4rem;}
.inquiry-overlay .custom-form textarea::placeholder{font-size:1.3rem;}
.inquiry-overlay .custom-form h2{padding-top:8vh;margin-bottom:55px;font-weight:normal;}
.inquiry-overlay .close-btn{right:20px;}
.inquiry-overlay .close-btn span{background:var(--deepslate);}
.inquiry-overlay.open .close-btn{opacity:1;transition:opacity .8s ease-in-out .6s, transform .6s var(--expo);}

.custom-form{position:relative;width:100%;font-size:1.4rem;}
.custom-form form{position:relative;width:100%;}
.custom-form input, .custom-form textarea{font-weight:normal;width:100%;border-bottom:1px solid var(--coolblue);padding:5px 0 10px 0;margin-bottom:40px;}
.custom-form label{display:block;font-size:1.4rem;font-weight:normal;}
.custom-form textarea{resize:none;}
.custom-form input::placeholder, .custom-form textarea::placeholder{color:var(--deepslate);transition:opacity .3s ease;}
.custom-form input:hover::placeholder, .custom-form textarea:hover::placeholder{opacity:.5;}
.custom-form input[type="submit"]{border:none;margin-top:40px;padding:10px 10px 10px 0;cursor:pointer;text-align:left;transition:opacity .3s ease;}
.custom-form input[type="submit"]:hover, .custom-form input[type="submit"]:focus{opacity:.5;}
.custom-form input[name="message"], .custom-form input[name="c"]{opacity:0;position:absolute;left:0;top:0;width:0;height:0;z-index:-1;}
.custom-form form.submitted{visibility:hidden;height:0;overflow:hidden}
.custom-form form + .thankyou{opacity:0;transition:opacity 1s ease-in-out;}
.custom-form form:not(.submitted) + .thankyou{visibility:hidden;pointer-events:none;}
.custom-form form + .thankyou.in{opacity:1;}

footer{position:relative;width:100%;height:var(--headerh);box-sizing:border-box;padding:25px 30px 0 30px;font-size:0;}
body.hide-footer footer{display:none;}
footer p{display:inline-block;vertical-align:top;width:50%;font-size:1.2rem;}
footer p:nth-of-type(2){text-align:right;}
footer p a{font-weight:300;text-decoration:none;}

.page-transition{position:fixed;left:0;top:0;width:100%;height:100%;background-color:var(--coolblue);pointer-events:none;z-index:8;transition:opacity .8s ease-in-out;will-change:opacity;}
body.hide-header .page-transition{z-index:16;}
.page-transition.loaded{opacity:0;}
.page-transition.in{opacity:1;transition:opacity .2s ease;}
.page-transition.fast{transition:none;}

.vh{position:absolute;z-index:-1;top:0;left:-1px;width:1px;height:100vh;/*height:100svh;*/}/*Used for mobile measurement of vh (svh for smallest viewport height, lvh for largest - similar to just vh) */
/* Block interactivity while scrolling */
/*.wheel-active a{pointer-events:none;}*/

/* Mobile only */
@media all and (max-width:1000.5px){
    :root{--headerh:47px;}
    .desktop{display:none;}
    .lazy.video:before{padding-top:calc(var(--aspectm, var(--aspect)) * 1%);}

    /* Project detail pages: normalize module spacing to 10px vertical gaps */
    .page.project-page .m:not(.full-h):not(.next-project):not(.media-txt):not(.txt){padding-top:5px;padding-bottom:5px;}

    h1,h2{font-size:1.6rem;}
    h3{font-size:1.5rem;}
    
    header .logo{left:20px;top:18px;width:163px;height:11px;}
    header .bg, header.open .bg{display:none;}
    header .tr{right:20px;top:18px;}
    header .tr .projects, header .tr .music{display:none;}
    header .menu{max-width:unset;padding:80px 15px;}
    header .close-btn{left:9px;}

    header .b{left:20px;bottom:85px;/*25px;*/}
    header .b .lazy{width:150px;margin-bottom:10px;}
    .social a{margin-right:20px;}
    .social a::before{left:-12px;top:-12px;width:calc(100% + 24px);height:calc(100% + 24px);}

    .m .l, .m .r{display:block;width:100%;}

    .txt-twocol-text{padding:40px 0;}
    .txt-twocol-text.contact{padding-top:90px;}
    .txt-twocol-text .inner{padding:0 30px;}
    .txt-twocol-text .a{max-width:100%;}
    .txt-twocol-text .floating-logo{position:relative;right:auto;top:auto;max-width:80%;margin-bottom:55px;}
    .txt-twocol-text .b{max-width:100%;align-self:end;padding-top:55px;}
    .txt-twocol-text.contact .b{padding-top:90px;}
    .txt-twocol-text .b .title{width:100%;padding-bottom:10px;}
    .txt-twocol-text .b .txt{columns:1;column-gap:0;margin-top:0;}
    .txt-twocol-text .b .txt .block{padding-top:0;}
    .txt-twocol-text .b .txt .block + .block{padding-top:45px;}
    .txt-twocol-text .b .links{width:100%;padding-top:40px;}
    .txt-twocol-text.contact .b{padding-left:0;}
    .m.media.full-h.parallax + .txt-twocol-text{padding-top:80px;}

    .logo-contact{padding:0 0 40px 0;}
    .logo-contact .inner{padding:0 20px;}
    .logo-contact .logos{align-self:auto;display:block;width:100%;}
    .logo-contact .logos .el{display:inline-block;vertical-align:top;width:50%;padding:0 25px;margin-top:40px;}
    .logo-contact .logos .lazy img{transform:none;width:100%;height:35px;object-fit:contain;}    
    .logo-contact .txt{max-width:100%;padding-top:55px;}

    .m.media{padding:30px 0;}
    .m.media.margin-left{padding-left:0;padding-right:0;}    
    .page .m:first-of-type.media.margin-left{padding-top:0;}
    .m.media.padding{padding-left:10px;padding-right:10px;/*padding-bottom:10px;*/}
    .m.media.full-h{height:100vh;height:100lvh;padding-top:0;}/*100svh*/
    .m.media.full-h .lazy, .m.media.full-h .lazy img{height:100%;object-fit:cover;}
    
    .m.img-img{padding:30px 0;}
    .m.img-img .inner{padding:0 10px;}
    .m.img-img .l{padding-right:0;}
    .m.img-img .r{padding-left:0;padding-top:10px;}

    .m.media-txt{padding:40px 0;}
    .m.media-txt .inner{padding:0 40px 0 35px;flex-direction:column;}
    .m.media-txt .media{width:60%;max-width:250px;display:block;align-self:end;}
    .m.media-txt .txt{width:100%;max-width:480px;display:block;margin-top:60px;}
    .m.media.full-h + .m.media-txt, .global-project + .m.media-txt{padding-top:40px;}
    .page.project-page .m.media-txt,
    .page[data-hidefooter="true"] .m.media-txt{padding-bottom:60px;}
    .page.project-page .m.media-txt ~ .m.media-txt,
    .page[data-hidefooter="true"] .m.media-txt ~ .m.media-txt{padding-top:60px;padding-bottom:60px;}
    
    .m.img-details{padding:30px 0;}
    .m.img-details .inner{padding:0 10px;display:flex;flex-direction:column;}
    .m.img-details .media.a{display:block;width:100%;padding-right:0;order:1;}
    .m.img-details .media.b{display:block;width:100%;padding-top:10px;order:2;}
    .m.img-details .txt{position:relative;left:auto;bottom:auto;width:100%;padding-top:25px;order:3;}
    /*.m.media + .m.img-details{padding-top:0;}*/

    .m.txt{padding:40px 0;}
    .page.project-page .m.txt,
    .page[data-hidefooter="true"] .m.txt{padding:60px 0;}
    .m.txt.left .inner{padding-right:30px;}
    .m.txt.right .inner{padding-left:30px;}
    .m.txt .txt, .m.txt.right .txt{width:100%;max-width:480px;padding-left:0;}

    .m.projects{padding:0 0 75px 0;}
    .m.projects .el h3{font-weight:normal;font-size:1.4rem;}
    .m.projects .el.single{padding-right:0;}
    .m.projects .el.single .lazy::after{opacity:1;}
    .m.projects .el.single p{padding-left:40px;max-width:340px;}
    .m.projects .el.single h3{margin-top:15px;padding-left:65px;}
    .m.projects .el.single h3::before{content:"";position:absolute;left:40px;top:9px;width:15px;height:1px;background:var(--deepslate);}
    .m.projects .el.double{padding-bottom:5px;}
    .m.projects .el.double .media{display:block;}
    .m.projects .el.double .media:nth-of-type(1){width:100%;margin-right:0;padding:0 40px;}
    .m.projects .el.double .media:nth-of-type(2){width:100%;padding:0 40px 0 30%;margin-top:45px;}
    .m.projects .el.double h3{padding-left:calc(30% + 25px);margin-top:15px;}
    .m.projects .el.double h3::before{content:"";position:absolute;left:30%;top:9px;width:15px;height:1px;background:var(--deepslate);}
    .m.projects .el + .el{margin-top:75px;}
    /*.m.projects .el p{padding-top:14px;}*/
    .m.projects .progress{display:none;}
    .mouse-label{display:none;}

    .m.next-project{margin-top:30px;height:100vh;height:100lvh;}/*100svh*/
    .m.next-project a, .global-project a{height:100%;}
    .m.next-project .lazy, .m.next-project .lazy img, .global-project .lazy, .global-project .lazy img{height:100%;object-fit:cover;}
    .m.next-project .txt, .global-project .txt{left:20px;top:130px;}
    .m.next-project h3, .global-project h3{display:block;margin-top:15px;padding-left:25px;}
    .m.next-project h3::before, .global-project h3::before{content:"";position:absolute;left:0;top:11px;width:15px;height:1px;background:#FFF;}
    .fake-h{margin-top:30px;}
    .global-project{height:100vh;height:100lvh;}/*100svh*/
    
    .inquiry-overlay .bg{display:none;}
    .inquiry-overlay .custom-form{max-width:100%;height:100vh;padding:80px 20px;}
    .inquiry-overlay .custom-form h2{font-size:1.8rem;}
    .inquiry-overlay .custom-form .half{display:block;width:100%;}
    .inquiry-overlay .custom-form .half:nth-of-type(2n){margin-left:0;}
    .inquiry-overlay .custom-form h2{padding-top:20px;margin-bottom:55px;}
    .inquiry-overlay .close-btn{right:5px;}

    footer{padding:25px 20px 0 20px;}
}
@media all and (max-width:400.5px) and (max-height:700px){
    header .b{bottom:25px;}
}
@media all and (max-width:1000.5px) and (orientation:landscape){
    header .b{left:auto;right:20px;bottom:25px;}
}
/* Desktop only */
@media all and (min-width:1000.5px){
    .mobile{display:none;}

    .m.projects .el:not(.touch) h3{display:none;}
    .m.projects .el.touch h3{display:block;margin-top:15px;padding-left:25px;}
    .m.projects .el.touch h3::before{content:"";position:absolute;left:0;top:11px;width:15px;height:1px;background:var(--deepslate);}

    .m.projects .el .lazy::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:75%;background:linear-gradient(0deg, rgba(0,0,0,.3) 0%, rgba(0,0,0,0) 100%);opacity:0;transition:opacity .5s ease;}
    .m.projects .el .lazy{pointer-events:all;}
    .m.projects .el.single:hover .lazy::after, .m.projects .el.double .lazy:hover::after{opacity:1;}
}