/* Finite keyframes ensure late-loaded content fades rather than snapping to its final style. */
.motion-ready [data-entrance]{opacity:0;translate:0 22px;animation:none!important}
.motion-ready [data-entrance].entrance-visible{animation:content-arrive 1150ms cubic-bezier(.2,.65,.3,1) var(--entrance-delay,0ms) both!important}
@keyframes content-arrive{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
.motion-ready .panel{animation:none}
.motion-ready .app-about h3,.motion-ready .app-about p{transform:none;transition:none}
@media(prefers-reduced-motion:reduce){.motion-ready [data-entrance]{opacity:1;translate:none;animation:none!important}}
[data-footer="directory"] .directory-download{flex-direction:column;align-items:center;gap:25px}
.footer-download-logo{display:block;width:44px;height:44px;object-fit:contain;margin:0 auto}
@media(max-width:680px){[data-footer="directory"] .directory-download{align-items:flex-start}.footer-download-logo{margin-left:0}}
@media(prefers-reduced-motion:reduce){.motion-ready [data-entrance]{opacity:1;translate:none;transition:none}}
/* Keep the download action aligned with the footer headings and outer edge. */
@media(min-width:681px){
 [data-footer="directory"] .directory-download{grid-column:auto;justify-content:flex-start;align-items:flex-end;padding-top:0}
}

/* Size the download column to its button so the mark shares its centre. */
[data-footer="directory"] .directory-download{width:max-content;max-width:100%;justify-self:end;align-items:center}
[data-footer="directory"] .footer-download-logo{width:88px;height:88px;margin:0 auto}
@media(max-width:680px){[data-footer="directory"] .directory-download{justify-self:start}}
