.zan-workwall{min-height:170vh;padding-bottom:calc(4vh + 4rem)}@media (min-width:1024px){.zan-workwall{min-height:232vh;padding-bottom:calc(9vh + 6rem)}}.zan-workwall-row{justify-content:center;gap:1rem;margin-bottom:1.25rem;display:flex}.zan-workwall-row:last-child{margin-bottom:0}.zan-workwall[data-looping] .zan-workwall-row{justify-content:flex-start;width:max-content}.zan-workwall-card{aspect-ratio:100/104;flex-shrink:0;width:min(18rem,76vw)}@media (min-width:768px){.zan-workwall-row{gap:1.5rem;margin-bottom:2rem}.zan-workwall-card{aspect-ratio:108/100;width:19.5rem}}@media (min-width:1024px){.zan-workwall-row{gap:2.5rem;margin-bottom:3rem}.zan-workwall-card{aspect-ratio:118/100;width:max(19rem,26vw)}}@media (prefers-reduced-motion:reduce){.zan-workwall{min-height:0;padding-bottom:var(--spacing-section)}.zan-workwall-plane{grid-template-columns:repeat(auto-fill,minmax(min(100%,17.5rem),1fr));gap:1.25rem;width:min(100% - 2.5rem,82.5rem);margin-inline:auto;display:grid;opacity:1!important;transform:none!important}.zan-workwall-row{display:contents!important;transform:none!important}.zan-workwall-card{width:auto!important}.zan-workwall-clone{display:none}}
.zan-showreel-stage{height:100lvh}.zan-showreel-word{font-family:var(--font-hero);letter-spacing:-3px;font-size:100px;font-weight:800;font-stretch:100%}.zan-showreel-word-stack{display:none}@media (max-width:767.98px){.zan-showreel-word-wide{display:none}.zan-showreel-word-stack{display:inline}}@media (prefers-reduced-motion:reduce){.zan-showreel-stage{height:clamp(22rem,58vh,30rem)}.zan-showreel-copy{padding-block:clamp(2.5rem,6vh,4rem)}}
.zan-partners-loop{-webkit-mask-image:linear-gradient(90deg, transparent, var(--color-ink) 6%, var(--color-ink) 94%, transparent);mask-image:linear-gradient(90deg, transparent, var(--color-ink) 6%, var(--color-ink) 94%, transparent)}@media (prefers-reduced-motion:reduce){.zan-partners-loop{-webkit-mask-image:none;mask-image:none}.zan-partners-track{justify-content:center;width:auto}.zan-partners-group{flex-wrap:wrap;flex-shrink:1;justify-content:center;row-gap:1.5rem}.zan-partners-dup{display:none}}
.zan-tech-card{perspective:800px}.zan-tech-card-inner{transform-style:preserve-3d;transition:transform .6s cubic-bezier(.16,1,.3,1)}.zan-tech-face{backface-visibility:hidden}.zan-tech-back{transform:rotateY(180deg)}@media (hover:hover) and (pointer:fine){.zan-tech-card:hover .zan-tech-card-inner{transform:rotateY(180deg)}}
.zan-proc-css{perspective:1600px;width:100%;height:100%;transition:opacity .5s var(--ease-out-expo,ease);place-items:center;display:grid;container-type:size}.zan-proc-css__rig{aspect-ratio:1.547;width:min(72cqw,86cqh,34rem);transform-style:preserve-3d;transform:translateY(-14%) rotateX(calc(var(--proc-pitch,12.6051deg) * -1)) rotateY(var(--proc-yaw,-24.0642deg));will-change:transform;position:relative}.zan-proc-css__lid{transform-style:preserve-3d;transform-origin:50% 100%;position:absolute;inset:0;transform:rotateX(8deg)}.zan-proc-css__front,.zan-proc-css__back{backface-visibility:hidden;border-radius:4.5%/7%;position:absolute;inset:0}.zan-proc-css__front{background:var(--color-ink);box-shadow:0 0 0 1px var(--color-line-strong);padding:2.4%;transform:translateZ(1px)}.zan-proc-css__front canvas{background:var(--color-bg);border-radius:1.5%/2.3%;width:100%;height:100%;display:block}.zan-proc-css__back{background:linear-gradient(160deg, var(--color-surface-2), var(--color-line-strong));box-shadow:inset 0 0 0 1px var(--color-line-strong);transform:rotateY(180deg)translateZ(1px)}.zan-proc-css__base{background:linear-gradient(180deg, var(--color-line-strong), var(--color-surface-2));width:108%;height:72%;box-shadow:inset 0 0 0 1px var(--color-line-strong);transform-origin:50% 0;border-radius:3%/5%;position:absolute;top:100%;left:-4%;transform:rotateX(90deg)}.zan-proc-css__keys{background:repeating-linear-gradient(90deg, transparent 0 6.4%, color-mix(in oklab, var(--color-ink) 22%, transparent) 6.4% 6.9%), repeating-linear-gradient(0deg, transparent 0 16%, color-mix(in oklab, var(--color-ink) 22%, transparent) 16% 18%), color-mix(in oklab, var(--color-ink) 12%, var(--color-surface-2));border-radius:2%;height:50%;position:absolute;top:9%;left:10%;right:10%}.zan-proc-css__pad{background:color-mix(in oklab, var(--color-ink) 6%, var(--color-surface-2));box-shadow:inset 0 0 0 1px var(--color-line-strong);border-radius:6%;position:absolute;inset:65% 34% 8%}.zan-proc-css__floor{background:radial-gradient(closest-side,#11101629,#11101600);border-radius:50%;width:min(62cqw,80cqh,32rem);height:9%;position:absolute;top:50%;left:50%;transform:translate(-50%,190%)}
@keyframes zan-ind-twinkle{0%,to{opacity:.2;transform:scale(.85)}50%{opacity:1;transform:scale(1.05)}}.zan-ind-star{will-change:opacity;animation-name:zan-ind-twinkle;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.zan-ind-stage{--zan-card-w:min(20rem, 78vw);--zan-card-h:calc(var(--zan-card-w) * 4 / 3)}.zan-ind-track{padding:1rem max(1.25rem, calc((100% - var(--zan-card-w)) / 2)) 1.75rem;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;gap:1rem;margin:0;list-style:none;display:flex;overflow:auto hidden}.zan-ind-track::-webkit-scrollbar{display:none}.zan-ind-track:focus-visible{outline:2px solid var(--color-brand-ink);outline-offset:6px;border-radius:1.75rem}.zan-ind-slide{width:var(--zan-card-w);scroll-snap-align:center;flex:none}.zan-ind-card{aspect-ratio:3/4;background:var(--color-surface);box-shadow:var(--shadow-float);isolation:isolate;border-radius:1.5rem;position:relative;overflow:hidden}.zan-ind-scrim{z-index:3;border-radius:inherit;background:var(--color-bg);opacity:0;pointer-events:none;position:absolute;inset:0}.zan-ind-arrow{border:1px solid var(--color-line);background:var(--color-bg);width:2.5rem;height:2.5rem;color:var(--color-ink);box-shadow:var(--shadow-lift);transition:transform .35s var(--ease-out-expo), border-color .3s ease, color .3s ease;border-radius:9999px;place-items:center;display:grid}.zan-ind-arrow:hover{border-color:var(--color-brand);color:var(--color-brand-ink);transform:translateY(-2px)}.zan-ind-arrow:active{transform:translateY(0)scale(.94)}.zan-ind-dot{background:var(--color-line-strong);width:.5rem;height:.5rem;transition:width .45s var(--ease-out-expo), background-color .3s ease;border-radius:9999px;display:block}.zan-ind-dot:hover{background:var(--color-brand-ink)}.zan-ind-dot[aria-current=true]{background:var(--color-brand);width:1.375rem}.zan-ind-ground{display:none}@media (min-width:768px){.zan-ind-stage{--zan-card-w:clamp(16rem, 21vw, 21rem)}.zan-ind-track{height:var(--zan-card-h);scroll-snap-type:none;perspective:1500px;perspective-origin:50% 46%;touch-action:pan-y;cursor:grab;padding:0;display:block;position:relative;overflow:visible}.zan-ind-track:active{cursor:grabbing}.zan-ind-slide{width:var(--zan-card-w);margin-left:calc(var(--zan-card-w) / -2);transform-style:preserve-3d;backface-visibility:hidden;will-change:transform, opacity;position:absolute;top:0;left:50%}.zan-ind-ground{left:50%;top:calc(var(--zan-card-h) + .25rem);width:calc(var(--zan-card-w) * 1.12);pointer-events:none;background:radial-gradient(#11101629 0%,#11101600 72%);height:2.75rem;display:block;position:absolute;transform:translate(-50%)}.zan-ind-arrow{width:2.75rem;height:2.75rem}}@media (prefers-reduced-motion:reduce){.zan-ind-star{opacity:.6;animation:none}.zan-ind-track{perspective:none;scroll-snap-type:none;cursor:auto;grid-template-columns:minmax(0,1fr);gap:1.5rem;max-width:66rem;height:auto;margin-inline:auto;padding:0;display:grid;position:static;overflow:visible}.zan-ind-slide{will-change:auto;width:auto;margin-left:0;position:static;opacity:1!important;transform:none!important}.zan-ind-scrim{opacity:0!important}.zan-ind-card{box-shadow:var(--shadow-lift)}.zan-ind-controls,.zan-ind-ground{display:none!important}}@media (prefers-reduced-motion:reduce) and (min-width:640px){.zan-ind-track{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce) and (min-width:1024px){.zan-ind-track{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}}
.zan-zoom{height:210svh;position:relative}.zan-zoom-stage{height:100svh;position:sticky;top:0;overflow:hidden}.zan-zoom-layer{transform-origin:50%;pointer-events:none;position:absolute;inset:0}.zan-zoom-frame{left:calc(50% + var(--sx));top:calc(50% + var(--sy));width:var(--sw);height:var(--sh);background-color:var(--color-surface-2);border-radius:1rem;position:absolute;overflow:hidden;translate:-50% -50%;box-shadow:0 2px 4px #0000000a,0 20px 44px -18px #00000038}.zan-zoom-portal{background-color:var(--color-bg);pointer-events:auto}.zan-zoom-ring{z-index:2;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--color-line-strong);pointer-events:none;position:absolute;inset:0}.zan-zoom-portal-inner{--zan-portal-top:calc(var(--spacing-nav) + 3svh);width:100vw;height:100svh;transform:scale(var(--pis));transform-origin:0 0}@media (min-width:1024px){.zan-zoom{height:300vh}.zan-zoom-frame{left:calc(50% + var(--lx));top:calc(50% + var(--ly));width:var(--lw);height:var(--lh)}.zan-zoom-portal-inner{transform:scale(var(--pil))}}@media (prefers-reduced-motion:reduce){.zan-zoom{height:auto;padding-block:1rem 2rem}.zan-zoom-stage{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:100%;max-width:82.5rem;height:auto;margin-inline:auto;padding-inline:clamp(1.25rem,.6rem + 2.8vw,3rem);display:grid;position:relative;overflow:visible}.zan-zoom-layer{display:contents}.zan-zoom-frame{aspect-ratio:4/3;width:auto;height:auto;position:relative;top:auto;left:auto;translate:none}.zan-zoom-portal{aspect-ratio:auto;border-radius:1.5rem;order:-1;grid-column:1/-1}.zan-zoom-portal-inner{--zan-portal-top:2.25rem;width:100%;height:100%;transform:none}@media (min-width:1024px){.zan-zoom-stage{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);grid-auto-flow:dense;gap:1rem}.zan-zoom-portal{order:0;grid-area:1/2/span 3}.zan-zoom-frame[data-side=a]{grid-column:1}.zan-zoom-frame[data-side=b]{grid-column:3}}}
.zan-about-word{--zan-ink:1;--zan-word-to:var(--color-ink);color:color-mix(in oklab, var(--zan-word-to) calc(var(--zan-ink) * 100%), color-mix(in oklab, var(--color-muted) 30%, transparent))}.zan-about-word[data-accent]{--zan-word-to:var(--color-brand-ink)}
.zan-contact-veil{background-image:linear-gradient(180deg, color-mix(in oklab, var(--color-brand-soft) 80%, transparent) 0%, transparent 55%)}.zan-contact-rays{opacity:.7;-webkit-mask-image:radial-gradient(60% 70% at 50% 0,#000 20%,#0000 80%);mask-image:radial-gradient(60% 70% at 50% 0,#000 20%,#0000 80%)}
