/* Scoped to the sole site footer; lightboxes keep their existing footer controls. */
#contact.shared-footer{overflow:visible;position:relative;scroll-margin-top:51px;}
.footer-name-track{--name-progress:1;position:relative;height:auto;}
.footer-name-stage{position:static;}
.shared-footer .footer-links{padding-bottom:24px;grid-template-columns:repeat(3,minmax(0,1fr));}
.shared-footer .footer-name{overflow:visible;opacity:1;transform:none;transition:none;padding-top:0;}
.footer-name-ink{display:block;transform:translateY(calc((1 - var(--name-progress))*var(--name-travel,32px)));opacity:var(--name-progress);}
.footer-resume{display:block;border:0;background:transparent;padding:0;margin-top:18px;text-align:left;font-size:11px;color:var(--ink);opacity:.7;}
.footer-resume small{display:block;color:var(--muted);font-size:9px;margin-top:3px;}
.shared-footer .footer-links h2{font-size:16px;line-height:1.4;margin-bottom:14px;}
.shared-footer .footer-links>div>a{width:fit-content;max-width:100%;transition:transform .22s ease;}
.shared-footer .contact-cta,.shared-footer [data-top]{transition:transform .22s ease,color .24s ease;}
.shared-footer :is(.footer-links>div>a,.contact-cta,[data-top]):focus-visible{transform:translateY(-2px);}
@media(hover:hover){.shared-footer :is(.footer-links>div>a,.contact-cta,[data-top]):hover{transform:translateY(-2px);}}
@media(max-width:550px){.shared-footer .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));}.shared-footer .footer-links h2{font-size:14px;}.shared-footer .footer-social{grid-column:1/-1;}}
.name-motion-off .footer-name-track{height:auto!important;}
.name-motion-off .footer-name-stage{position:static;}
.name-motion-off .footer-name-ink{clip-path:none;transform:none;opacity:1;}
.motion-off .shared-footer :is(.footer-links>div>a,.contact-cta,[data-top]){transition:none!important;transform:none!important;}
@media(prefers-reduced-motion:reduce){.footer-name-track{height:auto!important;}.footer-name-stage{position:static;}.footer-name-ink{clip-path:none;transform:none;opacity:1;}.shared-footer :is(.footer-links>div>a,.contact-cta,[data-top]){transition:none!important;transform:none!important;}}
