/* Motion layer inspired by immersive WebGL case-study pacing; all imagery and identity remain PRINTGATS. */
.motion-horizontal{overflow:visible}
.site-header.site-header{z-index:100}
:root{--scene-progress:0;--scroll-velocity:0;--pointer-x:50vw;--pointer-y:50vh}.motion-loading{overflow:hidden}
.no-js .motion-loader{display:none}.motion-loader{position:fixed;z-index:2000;inset:0;display:grid;place-items:center;background:#050607;color:var(--paper);overflow:hidden}.motion-loader__mark{position:absolute;left:50%;top:44%;width:min(54vw,430px);height:auto;transform:translate(-50%,-50%);animation:loaderLogo 1.1s var(--ease) infinite alternate}.motion-loader__mark img{display:block;width:100%;height:auto;filter:invert(1) sepia(.08) saturate(.35) brightness(1.35)}.motion-loader__number{position:absolute;left:var(--pad);bottom:1.5vw;font-size:clamp(92px,16vw,250px);font-weight:300;line-height:.75;letter-spacing:-.08em}.motion-loader__curtain{position:absolute;z-index:2;top:0;bottom:0;width:50%;background:var(--ink);transform:scaleX(0)}.motion-loader__curtain--left{left:0;transform-origin:left}.motion-loader__curtain--right{right:0;transform-origin:right}.motion-loader.is-complete .motion-loader__mark,.motion-loader.is-complete .motion-loader__number{opacity:0;transition:opacity .22s}.motion-loader.is-complete .motion-loader__curtain{animation:curtainOpen .9s .12s var(--ease) both}.motion-loader.is-gone{display:none}@keyframes loaderLogo{from{transform:translate(-50%,-50%) scale(.985);opacity:.78}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes curtainOpen{0%{transform:scaleX(0)}45%{transform:scaleX(1)}100%{transform:scaleX(0);transform-origin:center}}
.motion-glow{position:fixed;z-index:0;inset:0;pointer-events:none;background:radial-gradient(520px circle at var(--pointer-x) var(--pointer-y),rgba(var(--accent-rgb),.07),transparent 68%);mix-blend-mode:screen}.motion-canvas{position:fixed;z-index:0;inset:0;width:100%;height:100%;pointer-events:none;opacity:.45}.site-header,main,footer{position:relative;z-index:2}.site-header{position:fixed}
.scene-counter{position:fixed;z-index:90;right:18px;top:50%;display:grid;justify-items:center;gap:9px;transform:translateY(-50%);font-size:9px;font-weight:800;letter-spacing:.13em;color:rgba(255,255,255,.55);mix-blend-mode:difference}.scene-counter i{height:62px;width:1px;background:linear-gradient(to bottom,var(--accent) calc(var(--scene-progress)*100%),rgba(255,255,255,.25) 0)}.scene-counter span:first-child{color:#fff}.page-wipe{position:fixed;z-index:1800;inset:0;background:var(--accent);transform:scaleY(0);transform-origin:bottom;pointer-events:none}.page-wipe.is-entering{animation:pageWipe .72s var(--ease) forwards}@keyframes pageWipe{0%{transform:scaleY(0);transform-origin:bottom}48%{transform:scaleY(1);transform-origin:bottom}52%{transform:scaleY(1);transform-origin:top}100%{transform:scaleY(0);transform-origin:top}}
.cursor-trail{position:fixed;z-index:998;left:0;top:0;pointer-events:none}.cursor-trail i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--accent);transform:translate(-50%,-50%);opacity:.55}
.hero-copy,.hero-media{will-change:transform}.hero-copy{transform:translate3d(0,calc(var(--hero-shift,0)*1px),0)}.hero-media{transform:translate3d(0,calc(var(--hero-shift,0)*-.35px),0) rotateX(calc(var(--media-ry,0)*1deg)) rotateY(calc(var(--media-rx,0)*1deg))}.hero::after{content:"";position:absolute;z-index:-1;width:40vw;height:40vw;right:-8vw;top:12vh;border:1px solid rgba(var(--accent-rgb),.12);border-radius:50%;transform:translate3d(calc((var(--pointer-x-num,.5) - .5)*-25px),calc((var(--pointer-y-num,.5) - .5)*-25px),0) scale(calc(1 + var(--scroll-velocity)*.01));transition:transform .2s linear}
.hero h1{transform:skewY(calc(var(--scroll-velocity)*-.035deg));transform-origin:left center;will-change:transform}.section-head h2,.work-title h2,.industry h2,.contact h2{transition:letter-spacing .5s var(--ease)}[data-scene].is-scene-active .section-head h2,[data-scene].is-scene-active .work-title h2,[data-scene].is-scene-active .industry h2{letter-spacing:-.075em}
.sector-row{clip-path:none;overflow:hidden}.sector-row>*:not(img){opacity:.72;transform:translateX(-10px);transition:opacity .65s var(--ease),transform .65s var(--ease)}.sector-row.is-visible>*:not(img){opacity:1;transform:none}.sector-row>img{transform-origin:center;will-change:transform}.sector-row:hover>img{transform:translateY(0) rotate(-2deg) scale(calc(1 + var(--scroll-velocity)*.002))}
.before-after{overflow:clip}.before-after .compare{width:calc(78% + var(--compare-cinema,0)*22%);height:calc(min(64vw,690px) + var(--compare-cinema,0)*8vw);border-radius:calc((1 - var(--compare-cinema,0))*28px);transform:translateY(calc((1 - var(--compare-cinema,0))*30px)) scale(calc(.92 + var(--compare-cinema,0)*.08));box-shadow:0 calc(20px + var(--compare-cinema,0)*30px) 100px rgba(0,0,0,.28);transition:border-radius .12s linear}.before-after .section-head{transform:translateX(calc(var(--compare-cinema,0)*-8vw));opacity:calc(1 - var(--compare-cinema,0)*.58);transition:none}
.motion-horizontal{height:330vh;padding:0;background:var(--ink);position:relative}.work-pin{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;align-items:center}.motion-horizontal .work-title{position:absolute;z-index:3;left:var(--pad);top:50%;width:28vw;display:block;margin:0;transform:translateY(-50%);pointer-events:none}.motion-horizontal .work-title h2{font-size:clamp(58px,7.2vw,116px)}.work-hint{display:block;margin-top:35px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.motion-horizontal .work-track{position:absolute;left:34vw;top:50%;overflow:visible;padding:0 var(--pad) 0 0;transform:translate3d(calc(var(--rail-x,0)*-1px),-50%,0);will-change:transform;cursor:grab}.motion-horizontal .work-card{height:min(68vh,680px);flex-basis:min(47vw,690px);border-radius:clamp(10px,1.5vw,24px);transition:border-radius .5s var(--ease),transform .5s var(--ease)}.motion-horizontal .work-card--tall{flex-basis:min(32vw,470px);height:min(74vh,740px)}.motion-horizontal .work-card--wide{flex-basis:min(55vw,790px);height:min(58vh,580px)}.motion-horizontal .work-card:hover{border-radius:0;transform:scale(1.018)}.horizontal-progress{position:absolute;left:34vw;right:var(--pad);bottom:4vh;height:1px;background:var(--line)}.horizontal-progress span{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(var(--horizontal-progress,0));transform-origin:left}.motion-horizontal::before{content:"SCROLL / DRAG";position:absolute;z-index:4;right:var(--pad);top:calc(var(--header) + 22px);font-size:9px;letter-spacing:.2em;color:var(--muted)}
.industry-images figure{clip-path:inset(10% 10% 10% 10% round 24px);transition:clip-path .8s var(--ease)}.industry.is-scene-active .industry-images figure{clip-path:inset(0 round 0)}.industry-images figure:first-child{transform:translateY(calc(var(--industry-progress,0)*-45px))}.industry-images figure:last-child{transform:translateY(calc(var(--industry-progress,0)*45px))}
.process-link a{position:relative;overflow:hidden}.process-link a::before{content:"";position:absolute;inset:0;background:var(--accent);transform:translateX(-101%);transition:transform .65s var(--ease)}.process-link a:hover::before{transform:none}.process-link a>*{position:relative;z-index:1}.process-link a:hover{color:var(--ink)}.process-link a:hover b{color:var(--ink)}
.contact{clip-path:inset(calc((1 - var(--contact-progress,0))*7%) calc((1 - var(--contact-progress,0))*5%) round calc((1 - var(--contact-progress,0))*34px));transform:scale(calc(.94 + var(--contact-progress,0)*.06));transform-origin:center top}.contact h2{transform:translateX(calc((1 - var(--contact-progress,0))*7vw))}.contact-links{transform:translateX(calc((1 - var(--contact-progress,0))*-5vw))}
@media (max-width:900px){.motion-loader__mark{width:70px;height:70px}.motion-loader__mark i:first-child{height:60px}.motion-loader__mark i:last-child{width:50px}.scene-counter{display:none}.motion-canvas{opacity:.2}.cursor-trail{display:none}.hero::after{width:80vw;height:80vw}.sectors{padding-top:76px;padding-bottom:76px}.motion-horizontal{height:auto;padding:100px 0}.work-pin{position:relative;height:auto;display:block;overflow:hidden}.motion-horizontal .work-title{position:relative;left:auto;top:auto;width:auto;padding:0 var(--pad);transform:none}.motion-horizontal .work-track{position:relative;left:auto;top:auto;transform:none!important;overflow-x:auto;padding:45px var(--pad) 30px}.motion-horizontal .work-card{flex-basis:82vw;height:64vh}.motion-horizontal .work-card--tall{flex-basis:72vw;height:70vh}.motion-horizontal .work-card--wide{flex-basis:88vw;height:54vh}.horizontal-progress{position:relative;left:auto;right:auto;bottom:auto;margin:0 var(--pad)}.motion-horizontal::before{display:none}.before-after .compare{width:100%;height:72svh;transform:none;border-radius:0}.before-after .section-head{transform:none;opacity:1}.industry-images figure{clip-path:inset(0)}.contact{clip-path:none;transform:none}.contact h2,.contact-links{transform:none}}

/* Authentic Print Gats wordmark in the opening loader. */
.motion-loader__mark{width:min(58vw,470px);height:min(13vw,104px);overflow:hidden}
.motion-loader__mark img{width:100%;height:100%;object-fit:cover;object-position:center}
@media (max-width:900px){.motion-loader__mark{width:min(76vw,390px);height:min(18vw,86px)}}
@media (prefers-reduced-motion:reduce){.motion-loader{display:none}.motion-canvas,.motion-glow,.cursor-trail{display:none}.hero h1,.hero-copy,.hero-media,.industry-images figure,.contact,.contact h2,.contact-links{transform:none!important}.motion-horizontal{height:auto}.work-pin{position:relative;height:auto}.motion-horizontal .work-track{position:relative;left:auto;top:auto;transform:none;overflow-x:auto}.before-after .compare{width:100%;transform:none}.sector-row{clip-path:none}}
