/* Motion vocabulary adapted from the supplied MMFF launch-pack. */
.preloader{display:none}.js-motion:not(.no-intro) .preloader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:var(--ivory);color:var(--espresso);clip-path:inset(0);transition:clip-path 1.1s cubic-bezier(.65,0,.35,1)}.loaded .preloader{clip-path:inset(0 0 100%);pointer-events:none}.preloader-inner{display:grid;justify-items:center;gap:24px;transition:opacity .5s,translate .9s var(--ease)}.loaded .preloader-inner{opacity:0;translate:0 -60px}.preloader-inner>span{font-weight:800;font-size:24px;letter-spacing:.15em}.preloader-inner small{display:block;font-size:8px;text-align:center;letter-spacing:.7em;margin-top:7px}.speedbars{display:flex;gap:7px;height:48px;align-items:end}.speedbars i{display:block;background:var(--wine);width:9px;height:48px;transform-origin:bottom;animation:eq .55s ease-in-out infinite alternate;transform:skewX(-15deg)}.speedbars i:nth-child(2){animation-delay:.18s}.speedbars i:nth-child(3){animation-delay:.36s}@keyframes eq{from{transform:skewX(-15deg) scaleY(.22)}to{transform:skewX(-15deg) scaleY(1)}}
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:var(--ivory);z-index:100;transform:scaleX(0);transform-origin:left;pointer-events:none}.w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .06em .12em;margin:0 -.06em -.12em}.wi{display:inline-block;transform-origin:0 100%}.js-motion .split .wi{translate:0 115%;rotate:5deg;transition:translate 1.15s var(--ease),rotate 1.15s var(--ease);transition-delay:calc(var(--wi)*45ms)}.js-motion .split.in .wi,.loaded .hero h1 .wi{translate:0 0;rotate:0deg}.loaded .hero h1 .wi{transition-delay:calc(.25s + var(--wi)*55ms)}.js-motion [data-reveal]{opacity:0;translate:0 35px;transition:opacity 1s var(--ease),translate 1.2s var(--ease);transition-delay:var(--delay,0s)}.js-motion [data-reveal].in{opacity:1;translate:0 0}.js-motion .hero-enter,.js-motion .header{opacity:0;translate:0 22px;transition:opacity 1s var(--ease),translate 1.2s var(--ease)}.loaded .hero-enter,.loaded .header{opacity:1;translate:0 0}.hero-copy.hero-enter{transition-delay:.35s}.hero-audience.hero-enter{transition-delay:.45s}.showreel-block.hero-enter{transition-delay:.55s}.hero-action.hero-enter{transition-delay:.65s}.js-motion .portfolio-card .video-shell{clip-path:inset(100% 0 0);transition:clip-path 1.3s cubic-bezier(.65,0,.35,1)}.js-motion .portfolio-card.in .video-shell{clip-path:inset(0)}.portfolio-card img{transition:scale 1.3s var(--ease)}.portfolio-card:hover img{scale:1.04}.cta{position:relative;overflow:hidden;isolation:isolate;transition:transform .4s var(--ease),box-shadow .4s,translate .6s var(--ease)}.cta:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 30%,#ede7c722,transparent 70%);translate:-120% 0;animation:shine 5s ease-in-out infinite}.cta:hover{transform:translateY(-3px);box-shadow:0 13px 30px #0003}.cta:active{transform:scale(.98)}.cta>span{transition:transform .5s var(--ease)}.cta:hover>span{transform:translate(3px,-3px)}.ripple{position:absolute;border-radius:50%;background:#ede7c755;scale:0;pointer-events:none;z-index:-1;animation:ripple .75s var(--ease) forwards}.package{transition:transform .6s var(--ease),border-color .5s}.package:hover{border-color:#ede7c766}.form-card fieldset:not([hidden]){animation:stepIn .4s var(--ease)}@keyframes stepIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes shine{0%,65%{translate:-120% 0}100%{translate:120% 0}}@keyframes ripple{to{scale:1;opacity:0}}@keyframes marquee{to{transform:translateX(-50%)}}
@media(max-width:600px){.js-motion [data-reveal]{translate:0 20px;transition-duration:.7s}.js-motion [data-reveal].in{translate:0 0}.loaded .hero h1 .wi{transition-delay:calc(.1s + var(--wi)*30ms)}.cta:before{animation:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.preloader{display:none!important}.js-motion [data-reveal],.js-motion .hero-enter,.js-motion .header{opacity:1;translate:none}.js-motion .split .wi{translate:none;rotate:none}.js-motion .portfolio-card .video-shell{clip-path:none}}
