/* Motion never hides content in the document's resting state. */
.ido-motion-hero-media {
    position: absolute;
    inset: 0;
    overflow: hidden;
    border-radius: inherit;
}
.ido-motion-hero-media > .hero-photo { height: 100%; }

@media (prefers-reduced-motion: no-preference) {
    .ido-motion-enabled .button,
    .ido-motion-enabled .filters button,
    .ido-motion-enabled .work-category-links a {
        transition: background-color .28s ease, color .28s ease, transform .35s cubic-bezier(.22,1,.36,1);
    }
    .ido-motion-enabled :is(.arrow, .round-arrow, .row-arrow, .text-arrow) {
        transition: transform .4s cubic-bezier(.22,1,.36,1), background-color .25s ease, color .25s ease, opacity .25s ease;
    }
    .ido-motion-enabled .desktop-nav > a::after {
        transition: transform .4s cubic-bezier(.22,1,.36,1);
    }
    .ido-motion-enabled .mobile-menu:not([hidden]) {
        animation: ido-menu-enter .28s cubic-bezier(.22,1,.36,1) both;
    }
    @media (hover: hover) and (pointer: fine) {
        .ido-motion-enabled :is(.work-card img, .recruit-feature > img, .person-photo img, .content-card > img) {
            transition: transform .7s cubic-bezier(.22,1,.36,1), clip-path .7s cubic-bezier(.22,1,.36,1);
        }
        .ido-motion-enabled :is(.work-card img, .recruit-feature > img) {
            clip-path: inset(0 round 8px);
        }
        .ido-motion-enabled :is(.work-card a:hover img, .recruit-feature:hover > img) {
            /* The inset keeps the enlarged photo inside its original footprint. */
            transform: scale(1.025);
            clip-path: inset(1.22% round 8px);
            filter: none;
        }
        .ido-motion-enabled .home-strength-row:hover > img { filter: none; }
        .ido-motion-enabled .person-card:hover .person-photo img,
        .ido-motion-enabled a.content-card:hover > img {
            transform: scale(1.025);
        }
        .ido-motion-enabled .button:hover .arrow { transform: translateX(3px); }
        .ido-motion-enabled :is(.home-strength-row:hover .round-arrow, .recruit-feature:hover .text-arrow, .news-list a:hover .row-arrow) {
            transform: translate(3px, -3px);
        }
    }
    .ido-motion-enabled .button:focus-visible .arrow { transform: translateX(3px); }
}
@keyframes ido-menu-enter {
    from { opacity: .5; transform: translateY(-8px); }
    to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .ido-motion-enabled *, .ido-motion-enabled *::before, .ido-motion-enabled *::after {
        animation: none !important;
        transition: none !important;
    }
    .ido-motion-enabled .button:hover { transform: none; }
}
@media print {
    .ido-motion-enabled *, .ido-motion-enabled *::before, .ido-motion-enabled *::after {
        animation: none !important;
        transition: none !important;
    }
}
