/* Shared finishing layer for Nuáns case studies. */
.studio-footer>div,.g-footer>div{flex-wrap:wrap}
.studio-footer>div a,.g-footer>div a{white-space:nowrap}
@media(max-width:650px){footer.studio-footer>div,footer.g-footer>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 20px;width:100%}}
.ui-reveal{transition:opacity .48s ease,transform .48s ease}
.ui-reveal.reveal-pending{opacity:0;transform:translateY(12px)}
.g-page .button{transition:background-color .18s ease,color .18s ease,transform .18s ease}
.g-page .button span,.g-next-arrow{transition:transform .2s ease}
@media(hover:hover){.g-page .button:hover{transform:translateY(-2px)}.g-page .button:hover span{transform:translate(2px,-2px)}}
.g-motion-nav{display:none}.g-motion-nav button{border:1px solid #ccc;border-radius:50%;width:40px;height:40px;background:white;font-size:18px;color:var(--ink)}
.g-motion-nav button:disabled{opacity:.3;cursor:default}
.g-artwork-link{display:block;position:relative;border-radius:5px;overflow:hidden}
.g-artwork-link img{transition:transform .25s ease}
.g-artwork-zoom{position:absolute;right:8px;bottom:8px;background:#fff;color:#171717;padding:6px 9px;border-radius:3px;font-size:11px;line-height:1.3;box-shadow:0 1px 8px #0002}
@media(hover:hover){.g-artwork-link:hover img{transform:scale(1.015)}}
.g-artwork-link:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.artwork-open{overflow:hidden}
.artwork-dialog{box-sizing:border-box;width:min(1200px,96vw);max-width:96vw;max-height:94dvh;padding:52px 18px 18px;border:0;border-radius:8px;background:#fff;color:#171717}
.artwork-dialog::backdrop{background:#000b}
.artwork-dialog figure{margin:0}.artwork-dialog img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(94dvh - 120px);object-fit:contain;margin:auto}
.artwork-dialog figcaption{font-size:13px;color:#595959;line-height:1.5;margin-top:12px}
.artwork-close{position:absolute;top:9px;right:12px;min-height:34px;border:0;background:#f2f2f2;color:#171717;padding:7px 13px;border-radius:4px;cursor:pointer;font:inherit}
@media(max-width:650px){.g-motion-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;font-size:12px;color:var(--muted)}.g-motion-nav>div{display:flex;gap:8px}.g-artist-sequence{scrollbar-width:thin}.g-artwork-zoom{font-size:10px;padding:5px;right:5px;bottom:5px}.artwork-dialog{padding:52px 12px 12px}}
@media(prefers-reduced-motion:reduce){.ui-reveal,.g-page .button,.g-page .button span,.g-next-arrow,.g-artwork-link img{transition:none!important;transform:none!important}.ui-reveal.reveal-pending{opacity:1}}
/* Small cues, shared across the site; no continuous decorative motion. */
.g-nav nav a,.studio-home nav>a:not(.button){text-decoration-color:transparent;transition:text-decoration-color .2s;text-underline-offset:5px}.g-nav nav a:hover,.studio-home nav>a:not(.button):hover{text-decoration:underline;text-decoration-color:currentColor}.button svg,.text-link svg,.g-outcome-actions a svg{transition:transform .2s ease}.button:hover svg,.text-link:hover svg,.g-outcome-actions a:hover svg{transform:translate(2px,-2px)}.g-next>a{transition:opacity .2s}.g-next>a:hover{opacity:.82}.artwork-dialog[open]{animation:artwork-in .18s ease-out}@keyframes artwork-in{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){.button svg,.text-link svg,.g-outcome-actions a svg,.g-next>a{transition:none!important;transform:none!important}.artwork-dialog[open]{animation:none}}
