/* Additive motion only: the source site's type, layout and colour rules remain intact. */
html{scroll-behavior:smooth}body{padding-bottom:56px;overflow-x:clip}
.hero{position:relative;isolation:isolate}.hero-kicker,.hero-grid,.hero-foot{position:relative;z-index:1}
.motion-atmosphere{position:absolute;inset:0 0 -35px;overflow:hidden;pointer-events:none;z-index:-1;opacity:.36;mask-image:linear-gradient(180deg,transparent,#000 15%,#000 70%,transparent)}
.motion-atmosphere :is(video,.portal-still){position:absolute;right:-3%;top:-20%;width:70%;height:140%;object-fit:cover;opacity:.6;mask-image:linear-gradient(90deg,transparent,#000 45%,#000 80%,transparent);transform:translate3d(0,var(--portal-drift,0px),0) scale(var(--portal-scale,1))}
.motion-haze{position:absolute;inset:0;background:radial-gradient(ellipse at 65% 35%,#733ccb1c,transparent 55%),radial-gradient(ellipse at 80% 75%,#135dee25,transparent 45%);transform:translate3d(var(--haze-x,0px),var(--haze-y,0px),0)}
.motion-line{display:block;overflow:clip;padding-bottom:.08em;margin-bottom:-.08em}.motion-line-inner{display:block;will-change:transform}
.motion-reveal{opacity:0;transform:translate3d(0,32px,0);transition:opacity .85s ease,transform 1.05s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}
.motion-reveal.is-revealed{opacity:1;transform:translate3d(0,0,0)}
.project-cover{position:relative;isolation:isolate;transform:perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .5s ease;will-change:auto}
.project-cover::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:4;border-radius:inherit;background:radial-gradient(ellipse at var(--shine-x,50%) var(--shine-y,50%),#a890ff25,transparent 58%);opacity:0;transition:opacity .5s ease;box-shadow:inset 0 0 0 1px #a883ff55}
.project-cover:hover::after,.project-cover:focus-visible::after{opacity:1}
.project-cover.motion-reveal{clip-path:inset(5% 0 5% 0);transform:translate3d(0,24px,0);transition:clip-path 1.25s cubic-bezier(.16,1,.3,1),opacity .8s ease,transform 1.1s cubic-bezier(.16,1,.3,1)}
.project-cover.motion-reveal.is-revealed{clip-path:inset(0);transform:perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.project-visual>img,.af-cover>img{transform:scale(1.045) translate3d(0,var(--image-drift,0px),0);transition:filter .4s ease;will-change:auto}
.af-cover{overflow:hidden}.project-cover:hover{box-shadow:0 22px 65px #32106c38}
.motion-project-label{position:absolute;right:24px;bottom:72px;z-index:5;padding:11px 16px;background:#110b21e6;border:1px solid #9573bf70;border-radius:3px;color:#eee8ff;font:500 11px Space,Arial,sans-serif;letter-spacing:.3px;opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .35s ease;pointer-events:none}
.project-cover:hover .motion-project-label,.project-cover:focus-visible .motion-project-label{opacity:1;transform:translateY(0)}
.button,.nav-contact{position:relative;isolation:isolate;overflow:hidden}.button::after,.nav-contact::after{content:'';position:absolute;inset:-50% -80%;background:linear-gradient(105deg,transparent 42%,#ffffff24 49%,transparent 57%);transform:translateX(-60%);transition:transform .7s cubic-bezier(.16,1,.3,1);pointer-events:none}
.button:hover::after,.button:focus-visible::after,.nav-contact:hover::after{transform:translateX(60%)}
.button span,.text-link span,.service-row>a{display:inline-block;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.button:hover span,.text-link:hover span{transform:translate(3px,-2px)}
.service-row{position:relative;isolation:isolate}.service-row::before{content:'';position:absolute;inset:0 -16px;background:linear-gradient(100deg,#8c55f511,transparent 80%);opacity:0;transition:opacity .45s;pointer-events:none;z-index:-1}.service-row:hover::before,.service-row:focus-within::before{opacity:1}.service-row:hover>a{transform:translate(4px,-4px)}
.process{position:relative}.process::before{content:'';position:absolute;left:0;top:0;bottom:0;width:1px;transform-origin:top;transform:scaleY(var(--process-progress,0));background:linear-gradient(#b494ff,#176bff 60%,#ff536b);opacity:.65}.process li>span{transition:color .45s,text-shadow .45s}.process li.is-revealed>span{color:#c3a5ff;text-shadow:0 0 25px #9561f633}
.contact::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at var(--contact-light,10%) 80%,#5a35bc15,transparent 65%);pointer-events:none}.contact-grid{position:relative;z-index:1}
.motion-progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:101;pointer-events:none;background:linear-gradient(90deg,#b494ff,#176bff 65%,#ff536b);transform:scaleX(var(--page-progress,0));transform-origin:left}
.brand{position:relative}.brand::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 35%,#ffffff55 49%,transparent 62%);mask-image:url('brand/wordmark-story.svg');mask-size:contain;mask-position:center;mask-repeat:no-repeat;opacity:0}
.intro-running .header .brand::after{animation:wordmark-light 1.9s .45s ease both}@keyframes wordmark-light{0%{opacity:0;transform:translateX(-25%)}30%{opacity:.65}100%{opacity:0;transform:translateX(35%)}}
.motion-controls{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);z-index:200;display:flex;align-items:center;gap:18px;background:#0d0b15f2;border:1px solid #544364;border-radius:8px;padding:8px 10px 8px 14px;box-shadow:0 8px 30px #0007;backdrop-filter:blur(12px);white-space:nowrap;max-width:calc(100vw - 24px);font:10px Space,Arial,sans-serif;color:#c4b7d4}
.motion-label{letter-spacing:.6px;display:flex;align-items:center;gap:7px}.motion-label i{height:5px;width:5px;border-radius:50%;background:#b494ff}.motion-controls>div{display:flex;gap:6px}.motion-controls button{font:inherit;color:#f2ebff;padding:8px 10px;border:1px solid #655077;background:#20172d;border-radius:4px;cursor:pointer}.motion-controls button:focus-visible{outline:2px solid #a78bff;outline-offset:2px}.motion-controls button:hover{background:#352343}
.motion-off .motion-atmosphere,.motion-off .motion-project-label,.motion-off .motion-progress,.motion-off .process::before{display:none}.motion-off .motion-reveal{opacity:1;transform:none;clip-path:none;transition:none}.motion-off .project-cover,.motion-off .project-visual>img,.motion-off .af-cover>img{transform:none}.motion-off .motion-line-inner{transform:none!important;opacity:1!important}.motion-off .brand::after,.motion-off .button::after,.motion-off .nav-contact::after,.motion-off .project-cover::after,.motion-off .service-row::before,.motion-off .contact::after{display:none}.motion-off .hero-copy>*{opacity:1!important;transform:none!important}
@media(max-width:760px){.motion-atmosphere{inset:0}.motion-atmosphere :is(video,.portal-still){right:-25%;width:110%;opacity:.4;top:0;height:80%}.motion-controls{gap:8px;padding:7px 8px;bottom:8px}.motion-label{font-size:8px;letter-spacing:0}.motion-controls button{font-size:9px;padding:8px}.motion-project-label{display:none}.motion-reveal{transform:translateY(20px)}.project-cover{transform:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-atmosphere,.motion-progress,.motion-project-label,.process::before{display:none}.motion-reveal{opacity:1;transform:none;clip-path:none}.project-cover,.project-visual>img,.af-cover>img{transform:none!important}.motion-line-inner{transform:none!important;opacity:1!important}.brand::after{display:none}}

.process li{padding-left:16px}

/* Approved original-film treatment. The still remains beneath the video. */
.motion-atmosphere{opacity:.48}
.motion-atmosphere :is(video,.portal-still){opacity:.75}
.motion-atmosphere video{z-index:1}
.motion-atmosphere video[hidden]{display:none}
.motion-off .motion-atmosphere{display:block}
.motion-off .motion-atmosphere video{display:none}
.motion-off .motion-atmosphere .portal-still{transform:none}
.motion-line{overflow:visible}.headline-entering .motion-line{overflow:clip}
.motion-line-inner{opacity:1;transform:none}
@media(max-width:760px){.motion-atmosphere{opacity:.42}.motion-atmosphere :is(video,.portal-still){opacity:.6}}
@media(prefers-reduced-motion:reduce){.motion-atmosphere{display:block}.motion-atmosphere video{display:none}.motion-atmosphere .portal-still{transform:none}}

/* Show exactly one portal: fallback only until the film is visible. */
.portal-film-ready .portal-still{visibility:hidden}
.motion-off .portal-film-ready .portal-still{visibility:visible}
@media(prefers-reduced-motion:reduce){.portal-film-ready .portal-still{visibility:visible}}

/* Living background and expanding project frames — no entrance overlay. */
.motion-atmosphere :is(video,.portal-still){transform:translate3d(var(--portal-x,0px),calc(var(--portal-drift,0px) + var(--portal-y,0px)),0);transition:transform .9s cubic-bezier(.2,.65,.25,1)}
.project-cover.motion-reveal{clip-path:inset(6% 5% round 18px);transform:translate3d(0,20px,0);transition:clip-path 1.35s cubic-bezier(.16,1,.3,1),opacity .8s ease,transform 1.1s cubic-bezier(.16,1,.3,1)}
.project-cover.motion-reveal.is-revealed{clip-path:inset(0 0 round 3px);transform:none}
.project-cover::after{background:none;box-shadow:inset 0 0 0 1px #a883ff55}
.project-visual>img,.af-cover>img{transition:transform 1.5s cubic-bezier(.16,1,.3,1);transform:scale(1.025) translate3d(0,var(--image-drift,0px),0)}
.project-cover:not(.is-revealed) :is(.project-visual>img,img){transform:scale(1.065)}
.project-film-trigger{display:inline-flex;align-items:center;gap:12px;margin:20px 0 6px;padding:12px 18px;border:1px solid #827099;border-radius:3px;background:#171022;color:#eee8ff;font:500 13px Space,Arial,sans-serif;cursor:pointer}
.project-film-trigger:hover{background:#2b1c42}.project-film-trigger:focus-visible,.project-cinema button:focus-visible{outline:2px solid #b494ff;outline-offset:4px}
.project-cinema{box-sizing:border-box;width:min(92vw,540px);max-height:94dvh;padding:14px;background:#0b0911;color:#f3edff;border:1px solid #7e659c;border-radius:12px;overflow:auto;box-shadow:0 24px 100px #0009}
.project-cinema::backdrop{background:#05030be8;backdrop-filter:blur(10px)}
.project-cinema-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 0 12px;font:500 12px Space,Arial,sans-serif;letter-spacing:.06em}
.project-cinema button{padding:10px;border:1px solid #776189;border-radius:4px;background:#21172c;color:inherit;cursor:pointer;font:inherit}
.project-cinema video{display:block;max-height:75dvh;width:100%;aspect-ratio:9/16;object-fit:contain;background:#050508}
.project-cinema p{font:12px/1.5 Space,Arial,sans-serif;margin:12px 0 0;color:#bcb1cb}
@media(max-width:760px){.project-cover.motion-reveal{clip-path:inset(3% 3% round 12px)}.project-cover.motion-reveal.is-revealed{clip-path:inset(0 round 3px)}.project-cinema{padding:12px}.project-film-trigger{font-size:12px}}
.motion-off .motion-atmosphere :is(video,.portal-still){transform:none;transition:none}
.motion-off .project-cover.motion-reveal{clip-path:none;transform:none;transition:none}
.motion-off .project-visual>img,.motion-off .af-cover>img{transform:none;transition:none}
@media(prefers-reduced-motion:reduce){.motion-atmosphere :is(video,.portal-still),.project-visual>img,.af-cover>img{transform:none!important;transition:none!important}.project-cover.motion-reveal{clip-path:none!important;transform:none!important;transition:none!important}}
