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:'SuisseIntl','Helvetica Neue',Helvetica,Arial,sans-serif;background:#FFF;color:#000;box-sizing:border-box;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
::selection{background:#acacac;color:#FFF;}
body:not(.animates) *{transition:none!important;}
::-webkit-scrollbar{width:0!important;height:0!important;display:none;}

/* SuisseIntl is a licensed typeface (Swiss Typefaces). Drop the licensed
   .woff2/.woff into /Assets/Fonts/ to activate; otherwise a Helvetica-family
   fallback is used so metrics stay close. */
@font-face{font-family:'SuisseIntl';src:url('../Fonts/SuisseIntl-Medium-WebS.woff2') format('woff2'),url('../Fonts/SuisseIntl-Medium-WebS.woff') format('woff');font-weight:500;font-style:normal;font-stretch:normal;font-display:swap;}

/* --- Single typeface across the whole site (Suisse Intl Medium), like the
   reference. Logo, intro splash headline and everything else inherit it. --- */
:root{--display-font:'SuisseIntl', sans-serif;}

:root{
    /*Easing*/
    --sine:cubic-bezier(0.39, 0.575, 0.565, 1);
    --quad:cubic-bezier(0.25, 0.46, 0.45, 0.94);
    --quad-in-out:cubic-bezier(0.455, 0.03, 0.515, 0.955);
    --cubic:cubic-bezier(0.215, 0.61, 0.355, 1);
    --cubic-in-out:cubic-bezier(0.645, 0.045, 0.355, 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);
    --back:cubic-bezier(0.175, 0.885, 0.32, 1.275);
    --delay:0s;
}


/* 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:500;font-style:normal;line-height:1;box-sizing:border-box;}
h1{font-size:3.6rem;line-height:1;}
h2{font-size:1.6rem;line-height:1;}
p,ol,ul{font-size:1.6rem;line-height:1.2;min-height:1.6rem;}
p a{transition:color .2s ease;}
ul{box-sizing:border-box;margin:0;padding:0 0 0 20px;}
li{position:relative;box-sizing:border-box;}
input, textarea, select{font-family:'SuisseIntl';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;}

@media all and (max-width:1000.5px){
    h1{font-size:2.0rem;line-height:1.1;}
    h2{font-size:1.1rem;}
    p,ol,ul{font-size:1.3rem;line-height:1.2;min-height:1.4rem;}
}

/*      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%;}
.lazy .video{background:#FFF;}/*needed for mux video*/
.m.gallery .overview .media .lazy .video{background:transparent;}
/* 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;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;}

/* Animations */
.fade{opacity:0;}
.fade.in{opacity:1;transition:opacity .8s ease-in-out var(--delay);}

header{position:fixed;left:0;top:0;width:100%;height:0;z-index:11;}
header .logo{position:absolute;left:30px;top:20px;}
header .menu{position:absolute;right:30px;top:20px;transition:opacity .3s ease;}
header .logo, .primary{font-size:1.1rem;padding:10px 0;line-height:1;text-transform:uppercase;transition:color .2s ease;}
header .primary span{display:inline-block;vertical-align:top;margin-top:-.5px;}
.primary + .primary{margin-left:6px;}
.primary:not(.selected){color:#acacac;}
body.at-gallery header .menu{pointer-events:none;opacity:0;}
body.at-fullscreen header{display:none;}
@media (hover:hover){
    .primary:not(.selected):hover{color:#000;}
    header .logo:hover{color:#acacac;}
    body.at-fullscreen .m.gallery .medias .lazy.video{background:#000;}
    body.at-fullscreen .m.gallery .medias .lazy.video .controls{mix-blend-mode:difference;filter:invert(100%);}
    body.at-fullscreen .m.gallery .medias .lazy.video .controls .primary, body.at-fullscreen .m.gallery .medias .lazy.video .controls .primary.time{color:#000;}
    body.at-fullscreen .m.gallery .medias .lazy.video .controls .primary:hover{color:#222;}
}

main{position:relative;width:100%;}
.page{position:relative;width:100%;box-sizing:border-box;font-size:0;/*padding-top:40px;*/}
.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 */

.m.intro{position:fixed;left:0;top:0;width:100%;height:100%;background:#FFF;color:#000;display:flex;text-align:center;z-index:12;will-change:transform;}
.m.intro .c{margin:auto;text-transform:uppercase;}
.m.intro .claim{text-transform:none;font-size:1.3rem;line-height:1.4;color:#acacac;margin-top:12px;}
.m.intro{cursor:pointer;}
.m.intro .fade.in{opacity:1;transition:opacity 1.2s ease-in-out var(--delay);}
.m.intro.hidden{display:none;}
.m.intro.anim-out{transform:translateY(-100%);transition:transform .9s cubic-bezier(.7,0,.2,1);}

.m.work-header{position:fixed;left:26%;top:20px;width:calc(75vw - 240px);z-index:5;}
.m.work-header .l{display:inline-block;vertical-align:top;width:25vw;}
.m.work-header .r{display:inline-block;vertical-align:top;white-space:nowrap;}
.m.work-header .primary.active{color:#000;}

.m.work-category{padding:70px 30px;}
/* Aesthetic empty slot: reserves a grid column, renders nothing, no interaction. */
.m.work-category .el.empty{pointer-events:none;visibility:hidden;}
.m.work-category .el .media{width:100%;padding-top:128.28%;margin-bottom:12px;overflow:hidden;transition:opacity .3s ease;}
.m.work-category .el .lazy{position:absolute;left:0;top:0;width:100%;height:100%;}
.m.work-category .el .lazy video{height:auto;object-fit:contain;object-position:left top;}
.m.work-category .el .lazy img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;}
.m.work-category .el .lazy img[data-fit="contain"]{object-fit:contain;object-position:center;padding:25%;box-sizing:border-box;}
.m.work-category .el .media .cover-text{position:absolute;left:0;top:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f1efe8;color:#000;text-align:center;line-height:1.3;}
.m.work-category .el .media .cover-text span{font-size:1.3rem;font-weight:400;text-transform:uppercase;letter-spacing:.03em;}
.m.gallery.coming .coming-msg{position:fixed;left:0;top:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:0 8vw;pointer-events:none;}
.m.gallery.coming .coming-msg p{max-width:none;text-align:center;font-size:1.8rem;line-height:1.5;text-transform:lowercase;letter-spacing:.01em;color:#000;}
@media (max-width:1000.5px){.m.gallery.coming .coming-msg p{font-size:1.5rem;max-width:20ch;}}
.m.work-category .el p{font-size:1.1rem;line-height:1;min-height:unset;text-transform:uppercase;}
.m.work-category .el p + p{color:#acacac;padding-top:2px;}
.m.work-category .el p.hover{position:absolute;right:0;top:0;padding-top:0;opacity:0;transition:opacity .3s ease;color:#000;}
.m.work-category .el:hover .media{opacity:.8;transition:opacity .3s ease;}
.m.work-category .el:hover p.hover{opacity:1;transition:opacity .3s ease;}

.fade-overlay{position:fixed;left:0;top:0;width:100%;height:100%;background-color:#FFF;pointer-events:none;z-index:2;transition:opacity .2s ease;}
.fade-overlay.out{opacity:0;pointer-events:none;transition:opacity .8s ease-in-out;}

.m.about{padding:90px 30px 120px 30px;min-height:100vh;min-height:100svh;}
.m.about .inner{padding-left:calc(100% - 545px);}
.m.about .credits{position:absolute;left:30px;right:30px;bottom:30px;font-size:0;}
.m.about .contact{padding-top:30px;font-size:0;}
.m.about .contact p, .m.about .credits p{display:inline-block;vertical-align:top;width:50%;}
.m.about .credits p{font-size:1.1rem;text-transform:uppercase;}
.m.about .contact p:nth-of-type(2n), .m.about .credits p:nth-of-type(2n){text-align:right;}
.m.about .credits p:nth-of-type(2n){color:#acacac;}
.m.about p a:hover{color:#000;}

.m.hero{position:fixed;left:0;top:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#FFF;z-index:9;}
.m.hero .label{position:absolute;left:26%;top:20px;display:flex;align-items:baseline;gap:1.5cm;text-transform:uppercase;font-size:1.1rem;font-weight:400;line-height:1;padding:10px 0;}
.m.hero .label p{font-size:1.1rem;font-weight:400;line-height:1;}
.m.hero .lazy{display:inline-block;}
.m.hero .lazy img{display:block;width:min(66vh,42vw);height:min(66vh,42vw);object-fit:cover;object-position:50% 22%;}

.m.gallery{position:absolute;left:0;top:0;width:100%;height:100%;min-height:100vh;min-height:100svh;background-color:#FFF;z-index:9;}
.m.gallery.fixed{position:fixed;opacity:0;transition:opacity .3s ease;}
.m.gallery.fixed.at-overview .overview{overflow:auto;}
.m.gallery.fixed:not(.on){display:none;}
.m.gallery.fixed.on.in{opacity:1;}
.m.gallery .nav{position:absolute;left:0;top:20px;width:100%;padding:0 26%;white-space:nowrap;font-size:0;z-index:4;user-select:none;}
body.at-fullscreen .m.gallery .nav{display:none;}
.m.gallery .nav .name{display:inline-block;vertical-align:top;width:50%;text-transform:uppercase;padding:10px 0;cursor:default;}
.m.gallery .nav .name p{display:inline-block;vertical-align:top;font-size:1.1rem;line-height:1;}
.m.gallery .nav .name p + p{color:#acacac;padding-left:4px;}
.m.gallery .nav .ralign{display:inline-block;vertical-align:top;width:50%;padding:10px 0;}
.m.gallery .nav .ralign .counter{text-align:right;cursor:default;}
.m.gallery .nav .ralign .counter p{font-size:1.1rem;line-height:1;}
.m.gallery .nav .ralign .counter span:first-of-type{color:#acacac;padding-right:1px;}
.m.gallery .nav .close-btn.desktop{position:absolute;right:20px;top:0;padding-right:10px;}
.m.gallery .medias{position:absolute;left:0;top:0;width:100%;height:100%;box-sizing:border-box;padding:0 15%;font-size:0;transition:padding .9s cubic-bezier(.22,1,.36,1);}
.m.gallery .medias::after{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background-color:#FFF;z-index:1;opacity:0;transition:opacity .4s ease;pointer-events:none;}
.m.gallery.at-overview .medias::after{opacity:.9;}
.m.gallery .medias .media{display:flex;margin:auto;width:100%;height:78vh;align-items:center;justify-content:center;transition:width .9s cubic-bezier(.22,1,.36,1),height .9s cubic-bezier(.22,1,.36,1);}
.m.gallery .medias .media .lazy{width:100%;height:100%;display:inline-block;vertical-align:top;}
.m.gallery .medias .media .lazy img{width:100%;height:100%;object-fit:contain;}
.m.gallery .medias .media .lazy video{width:100%;height:100%;object-fit:contain;display:inline-block;vertical-align:top;}
.m.gallery .medias .media.center .lazy{vertical-align:middle;align-self:center;}
.m.gallery .medias .media.bottom .lazy{vertical-align:bottom;align-self:end;}
.m.gallery .medias .media.bottom .lazy img{object-fit:contain;object-position:bottom;}
.m.gallery .medias .media.pair .lazy{width:calc((70vw - 30px) / 2);}
.m.gallery .medias .media .lazy + .lazy{margin-left:30px;}
.m.gallery .medias .media:not(.on){display:none;}
body.at-fullscreen .m.gallery .medias{padding:0;}
body.at-fullscreen .m.gallery .medias .media{height:100vh;}
.m.gallery .medias .media.video{max-height:70%;}/*videos are always single, so they can scale normally with css*/
body.at-fullscreen .m.gallery .medias .media.video{max-height:100%;}
body.at-fullscreen .m.gallery .medias .media.video video{width:100%;height:100%;object-fit:contain;}
.m.gallery .medias .controls{position:absolute;left:50%;bottom:-30px;color:#000;transform:translateX(-50%);}
.m.gallery .medias .controls .primary{display:inline-block;vertical-align:top;}
.m.gallery .medias .controls .primary.time{color:#000;width:40px;}
body.at-fullscreen .m.gallery .medias .controls{left:30px;bottom:0;width:100%;transform:none;z-index:10;}
body.at-fullscreen .m.gallery .medias .controls .primary.time{position:absolute;right:30px;bottom:0;}
.m.gallery.at-overview .medias{filter:grayscale(100%);transition:filter 0s ease .2s;}
/* Preload */
.m.gallery .medias .media:not(.on).preload{position:absolute;top:-2px;display:block;width:1px;height:1px;visibility:hidden;pointer-events:none;}
.m.gallery .medias .media:not(.on).preload .lazy{width:1px;}
.m.gallery .medias .media:not(.on).preload .controls{display:none;}
.m.gallery .medias .media:not(.on).preload .lazy.video.in{display:none;}

/* Project gallery with description — shared typography (all breakpoints). */
.m.gallery .project-desc .inner{width:100%;}
.m.gallery .project-desc .sec + .sec{margin-top:1.8rem;}
.m.gallery .project-desc h3{font-size:1.1rem;text-transform:uppercase;line-height:1;margin-bottom:5px;color:#acacac;font-weight:400;}
.m.gallery .project-desc p{font-size:1.5rem;line-height:1.35;color:#000;}

/* Desktop: image opens centered, then slides left + shrinks to a square (~30% smaller); text panel on the right. */
@media all and (min-width:1000.5px){
  .m.gallery.has-desc .medias{padding:0 46% 0 8%;}
  .m.gallery.has-desc .medias.desktop{justify-content:flex-start;}
  .m.gallery.has-desc .medias .media{width:54vh;max-width:40vw;height:54vh;margin:0;}
  .m.gallery.has-desc .medias .media .lazy img{object-fit:cover;}
  .m.gallery.has-desc .medias .media .lazy img[data-fit="contain"]{object-fit:contain;}
  .m.gallery.has-desc .medias .media.video{max-height:none;}
  .m.gallery.has-desc .medias .media .lazy video{object-fit:contain;}
  .m.gallery .project-desc{position:absolute;right:8%;top:0;width:45%;height:100%;display:flex;align-items:center;z-index:2;opacity:0;transform:translateX(24px);transition:opacity .7s ease .25s, transform .7s cubic-bezier(.22,1,.36,1) .25s;pointer-events:none;}
  .m.gallery.has-desc.in .project-desc{opacity:1;transform:none;}
}

/* Mobile: page scrolls vertically — horizontal swipe photo carousel on top, description flows below. */
@media all and (max-width:1000.5px){
  .m.gallery.fixed.has-desc{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;}
  .m.gallery.has-desc .medias.mobile{display:none;}
  .m.gallery.has-desc .medias.desktop{display:flex;position:relative;left:auto;top:auto;margin-top:60px;width:100%;height:56vh;padding:0;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .m.gallery.has-desc .medias.desktop::-webkit-scrollbar{display:none;}
  .m.gallery.has-desc .medias.desktop .media{flex:0 0 86%;width:86%;height:100%;margin:0;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;padding:0 6px;box-sizing:border-box;}
  .m.gallery.has-desc .medias.desktop .media .lazy{width:100%;height:100%;display:block;}
  .m.gallery.has-desc .medias.desktop .media .lazy img{width:100%;height:100%;max-height:none;object-fit:contain;display:block;}
  .m.gallery.has-desc .medias.desktop .media .lazy video{width:100%;height:100%;object-fit:contain;display:block;}
  .m.gallery.has-desc .project-desc{position:relative;left:auto;right:auto;top:auto;bottom:auto;margin-top:28px;width:100%;height:auto;display:block;padding:0 15px 60px;box-sizing:border-box;opacity:1;transform:none;z-index:2;}
  .m.gallery.fixed.has-desc .nav{position:fixed;left:0;right:auto;top:auto;bottom:0;width:100%;padding:12px 15px;background-color:#fff;box-shadow:0 -1px 0 rgba(0,0,0,.08);z-index:6;}
}

/* ---- Story mode: coverflow carousel (center focused, sides small/blurred), text centered below. ---- */
.m.gallery.story .medias.mobile{display:none;}
.m.gallery.story .medias{padding:0;overflow:visible;}
.m.gallery.story .medias.desktop{display:flex;position:absolute;left:0;top:10vh;width:100%;height:60vh;align-items:center;justify-content:flex-start;padding:0;overflow:visible;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform;transform:translate3d(0,0,0);}
.m.gallery.story .medias.desktop .media{flex:0 0 auto;width:34vh;height:48vh;margin:0 2.2vh;display:flex;align-items:center;justify-content:center;transform-origin:center center;transition:transform .55s cubic-bezier(.22,.61,.36,1),opacity .55s ease,filter .55s ease;will-change:transform,opacity,filter;backface-visibility:hidden;-webkit-backface-visibility:hidden;cursor:pointer;}
.m.gallery.story .medias.desktop .media .lazy{width:100%;height:100%;display:block;}
.m.gallery.story .medias.desktop .media .lazy img{width:100%;height:100%;object-fit:cover;display:block;}
.m.gallery.story .medias.desktop .media .lazy img[data-fit="contain"]{object-fit:contain;}
.m.gallery.story .project-desc{position:absolute;left:50%;right:auto;top:auto;bottom:3vh;width:100%;max-width:680px;height:auto;display:block;transform:translateX(-50%);text-align:center;padding:0 20px;box-sizing:border-box;opacity:0;transition:opacity .6s ease .3s;z-index:4;pointer-events:none;}
.m.gallery.story.in .project-desc{opacity:1;}
.m.gallery.story .project-desc .story-text{display:block;font-size:1.5rem;line-height:1.4;text-wrap:balance;}
@media all and (max-width:1000.5px){
  .m.gallery.story .medias.desktop{height:50vh;top:11vh;}
  .m.gallery.story .medias.desktop .media{width:62vw;height:44vh;margin:0 2.5vw;}
  .m.gallery.story .project-desc{bottom:2.5vh;max-width:none;padding:0 10%;}
  .m.gallery.story .project-desc p{font-size:1.5rem;}
}

.m.gallery .overview{position:fixed;left:0;top:0;width:100%;height:100%;z-index:3;padding:120px;display:flex;mix-blend-mode:multiply;opacity:0;transition:opacity .2s ease;}
.m.gallery:not(.at-overview) .overview:not(.out){display:none;}
.m.gallery.at-overview .overview.in{opacity:1;transition:opacity .4s ease;}
.m.gallery.at-overview .overview.in.out{opacity:0;}
.m.gallery .overview .inner{margin:auto;text-align:center;max-width:1280px;}
.m.gallery .overview .media{display:inline-flex;vertical-align:top;width:120px;margin:25px;cursor:pointer;}
.m.gallery .overview .media .lazy{width:100%;}
.m.gallery .overview .media .lazy + .lazy{margin-left:5px;}
.m.gallery .overview .media.pair .lazy{display:inline-block;vertical-align:top;width:50%;}
.m.gallery .overview .media.pair.center .lazy{vertical-align:middle;align-self:center;}
.m.gallery .overview .media.pair.bottom .lazy{vertical-align:bottom;align-self:end;}

@media all and (min-width:1000.5px) and (max-width:1200.5px){
    .m.work-header{left:25%;}
    .m.work-header .l{width:35%;}
    .m.work-header .r{width:65%;text-align:right;}
    .m.gallery .nav{padding:0 25%;}
}

.page-transition{position:fixed;left:0;top:0;width:100%;height:100%;background-color:#fdfbfb;pointer-events:none;z-index:10;transition:opacity .8s ease-in-out;will-change:opacity;}
.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;}/*Used for mobile measurement of vh (svh for smallest viewport height, lvh for largest - similar to just vh) */

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

    header.bottom-align{top:auto;bottom:40px;}
    header .logo{left:15px;top:5px;}
    header .menu{right:15px;top:5px;}
    header .logo, .primary{font-size:1.1rem;}

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

    .carousel[data-mobilenative="true"] .inner{overflow:auto;}
    .m.carousel .el{height:25vh;}

    .m.hero .label{left:15px;top:30px;width:auto;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:5px;padding:0;}
    .m.hero .lazy img{width:min(82vw,58vh);height:min(82vw,58vh);}

    /* Mobile Works: fixed full-width filter bar below the site header; only the selected category grid shows. */
    .m.work-header{left:0;top:42px;width:100%;padding:10px 15px;box-sizing:border-box;background-color:#fff;}
    .m.work-header .l{display:none;}
    .m.work-header .r{display:block;width:100%;overflow-x:auto;overflow-y:hidden;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
    .m.work-header .r::-webkit-scrollbar{display:none;}
    .m.work-header .r .primary{display:inline-block;margin-right:18px;}

    .m.work-category{padding:96px 0 40px 0;}
    .m.work-category:not(.on){display:none;}
    .m.work-category:not(.desktop) + .m.work-category{padding-top:96px;margin-top:0;}
    .m.work-category h2{text-transform:uppercase;color:#acacac;margin-bottom:30px;}
    /* Full-screen 2-column grid, scrolls vertically. */
    .m.work-category .inner{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:30px 12px;padding:0 15px 40px;box-sizing:border-box;}
    .m.work-category .title{padding:0 15px;}
    .m.work-category .el{display:block;width:auto;margin:0;}
    .m.work-category .el p{font-size:1.1rem;}
    .m.work-category div.el{display:none;}

    .m.about{padding:90px 15px;min-height:100vh;min-height:100svh;}
    .m.about .inner{padding-left:0;}
    .m.about .credits{right:0;bottom:15px;width:100%;padding:0 15px;}
    .m.about .contact{padding-top:30px;font-size:0;}
    .m.about .contact p, .m.about .credits p{display:inline-block;vertical-align:top;width:40%;}
    .m.about .credits p{font-size:1.1rem;text-transform:uppercase;}
    .m.about .contact p:nth-of-type(2n), .m.about .credits p:nth-of-type(2n){text-align:left;width:60%;}

    .m.gallery.fixed{min-height:unset;}
    .m.gallery.fixed.at-overview .overview{max-height:calc(100% - 65px);}
    .m.gallery.homepage{position:fixed;}
    .m.gallery .nav{position:absolute;left:auto;right:0;top:auto;bottom:10px;width:100%;padding:0 15px;}
    .m.gallery.homepage .nav{position:relative;left:auto;top:auto;bottom:0;}
    .m.gallery .nav .name{width:45%;display:inline-block;vertical-align:top;}
    .m.gallery .nav .ralign{width:auto;float:right;padding:0;}
    .m.gallery .nav .ralign .counter{display:inline-block;vertical-align:top;padding:10px 0;}
    .m.gallery .nav .ralign .primary{display:inline-block;vertical-align:top;margin-left:20px;text-align:right;}

    body.at-gallery header .logo{pointer-events:none;opacity:0;}

    .m.gallery .medias{padding:15px;}
    .m.gallery.homepage .medias{position:relative;height:auto;padding-bottom:0px;}
    .m.gallery.homepage .medias.mobile picture.lazy.on{margin-bottom:30px;}
    .m.gallery .video{margin-bottom:30px;}
    .m.gallery .video.no-margin{margin-bottom:0;}
    body.at-fullscreen .m.gallery .medias video{width:100%;height:100%;object-fit:contain;}
    .m.gallery .video .controls{position:absolute;left:0;bottom:-30px;transform:none;}
    body.at-fullscreen .m.gallery .medias .controls{left:15px;bottom:0;width:100%;transform:none;z-index:10;}
    body.at-fullscreen .m.gallery .medias .controls .primary.time{position:absolute;right:15px;bottom:0;}
    .m.gallery .controls.in-name{height:0;width:auto;}
    .m.gallery .controls.in-name{display:inline-block;vertical-align:top;width:auto;margin-top:-10px;}
    .m.gallery .controls.in-name .primary:nth-of-type(1), .m.gallery .controls.in-name .primary:nth-of-type(2), .m.gallery .controls.in-name .primary.time{display:none;}

    .m.gallery .medias .lazy{width:100%;}
    .m.gallery .medias .lazy:not(.on){display:none;}
    /* Preload */
    .m.gallery .medias .lazy:not(.on).preload{position:absolute;top:0;display:block;width:1px;height:1px;visibility:hidden;pointer-events:none;}
    .m.gallery .medias .lazy:not(.on).preload.video{top:-2px;}
    .m.gallery .medias .lazy:not(.on).preload .lazy{width:1px;}
    .m.gallery .medias .lazy:not(.on).preload .lazy.video.in{display:none;}
    .m.gallery .medias .lazy:not(.on).preload .controls{display:none;}

    .m.gallery .overview{padding:15px 12px;}
    .m.gallery .overview .inner{margin:0;text-align:left;}
    .m.gallery .overview .lazy{display:inline-block;vertical-align:top;width:20%;padding:0 3px;margin-bottom:25px;pointer-events:all;}
}

/* Desktop only */
@media all and (min-width:1000.5px){
    .mobile{display:none;}

    .m.work-category:not(.on){display:none;}
    .m.work-category .inner{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:90px 25px;}

    .m.gallery .medias.desktop{display:flex;align-items:center;justify-content:center;}
    .m.gallery .nav .ralign{display:inline-flex;justify-content:flex-end;align-items:baseline;gap:24px;}
    .m.gallery .nav .ralign .counter{position:static;right:auto;top:auto;width:auto;order:2;white-space:nowrap;}
    .m.gallery .nav .close-btn.desktop{position:static;right:auto;top:auto;order:1;padding-right:0;}
    .m.gallery .nav .ralign .overview-btn{position:absolute;left:0;top:0;text-align:left;}

    /* Cursor */
    body.browse-right .m.gallery{cursor:e-resize;}
    body.browse-left .m.gallery{cursor:w-resize;}
}
