.hero{position:relative;isolation:isolate;overflow:hidden}.hero-copy,.hero-art{position:relative;z-index:1}.hero-watermark{position:absolute;inset:0;z-index:0;background:#f4f4f2;pointer-events:none}.hero-watermark video{width:100%;height:100%;object-fit:cover;opacity:1;filter:grayscale(.15)}.hero-watermark:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#ffffffb8 0%,#ffffffa3 42%,#ffffff73 100%)}.hero-copy h1{perspective:1000px}.motion-line{display:block;transform-origin:center bottom}.motion-ready:not(.motion-off) .motion-line{animation:line-arrive .9s cubic-bezier(.18,.7,.15,1) both;animation-delay:calc(var(--line-index,0)*.14s + .06s)}@keyframes line-arrive{from{opacity:0;transform:translate3d(0,45px,0) rotateX(42deg);filter:blur(6px)}to{opacity:1;transform:translate3d(0,0,0) rotateX(0);filter:blur(0)}}.project-image,.hero-art{transform-style:preserve-3d;will-change:auto;transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .3s}.project-image{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}.hero-art{transform:perspective(1200px) translateY(var(--parallax-y,0px)) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}.project-image:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,50%),#ffffff45,transparent 60%);opacity:0;transition:opacity .3s}.project-image:hover:after{opacity:1}.project-image:hover{box-shadow:0 24px 35px -25px #0008}.image-arrow{transition:transform .3s,background .3s}.project-image:hover .image-arrow{background:var(--orange);transform:rotate(45deg)}.button{transform:translate3d(var(--mag-x,0px),var(--mag-y,0px),0);transition:transform .2s cubic-bezier(.2,.7,.2,1),background .2s,color .2s}.button:hover{transform:translate3d(var(--mag-x,0px),calc(var(--mag-y,0px) - 3px),0)}.button span{transition:transform .3s}.button:hover span{transform:rotate(45deg)}.ticker{position:relative}.ticker span{width:max-content;min-width:100%;animation:ticker-travel 24s linear infinite;text-align:left;will-change:transform}.ticker:hover span{animation-play-state:paused}@keyframes ticker-travel{from{transform:translateX(0)}to{transform:translateX(-35%)}}.reveal.reveal-ready{transition-delay:calc(var(--reveal-index,0)*.08s)}.hero-art-label{transition:transform .5s}.hero-art:hover .hero-art-label{transform:translateZ(25px)}#mascot svg{animation:character-float 4s ease-in-out infinite;transform-origin:center bottom}#mascot.is-blinking svg{animation:character-click .28s ease}@keyframes character-float{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-8px) rotate(5deg)}}@keyframes character-click{0%,100%{transform:scale(1)}40%{transform:scale(1.13,.85)}70%{transform:scale(.94,1.07)}}.service-list a>span:last-child{transition:transform .25s}.service-list a:hover>span:last-child{transform:rotate(45deg)}.project-filter button{transition:background .25s,color .25s,transform .25s}.project-filter button:hover{transform:translateY(-2px)}.faq-list details[open] p{animation:answer-in .25s ease-out}@keyframes answer-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media(max-width:900px){.hero-art{transform:none!important}.hero-watermark video{opacity:1}.hero-watermark:after{background:#ffffffb3}.ticker span{animation-duration:35s}}@media(prefers-reduced-motion:reduce){.hero-watermark video{display:none}.hero-watermark{background:#f4f4f2}.hero-watermark:after{background:#ffffffc9}.motion-line,.project-image,.hero-art,.button,.ticker span,#mascot svg{animation:none!important;transform:none!important;filter:none!important}.motion-line{opacity:1!important}}.motion-off .motion-line{animation:none;opacity:1;transform:none;filter:none}.motion-off .project-image,.motion-off .hero-art{transform:none}.motion-off .ticker span{animation:none}.motion-off #mascot{display:none}

.festival-grid .laurel{width:76px;height:62px;color:#fff;letter-spacing:0;margin:0 0 10px;display:block}.original-showreel{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;background:#f5f5f3}.original-showreel p{margin:24px 0;color:#555}.original-showreel img{width:100%;height:330px;object-fit:cover;border-radius:22px}.cta-sub{margin:24px auto 0;text-align:center}.service-items{font-size:14px;color:#595956}.team-grid h3{overflow-wrap:anywhere}@media(max-width:600px){.original-showreel{grid-template-columns:1fr;gap:30px}.original-showreel img{height:220px}.hero h1{font-size:clamp(34px,8.2vw,48px)}}
