/* Motion extension: same actors and geometry as the Pixel2Motion study. */
.intro-loading .intro-emblem{width:116px;height:116px;margin-bottom:32px}
.intro-loading .intro-emblem:before,.intro-loading .intro-emblem:after{display:none}
.intro-loading .intro-logo{width:100px;height:100px}
.intro-loading .intro-mark{animation:none}.intro-mark>svg{display:block;width:100%;height:100%}
.intro-loading .intro-grid{display:none}
.intro-loading .intro-name{animation:intro-type-in .7s .5s cubic-bezier(0,0,.2,1) both}
.intro-loading .intro-office{animation:intro-type-in .7s .65s cubic-bezier(0,0,.2,1) both}
.intro-loading .intro-track{max-width:160px;background:#ffffff25}
.intro-loading .intro-track:after{background:#d92b21;animation:intro-progress 1.2s cubic-bezier(.4,0,.2,1) 3}
.intro-loading .intro-caption{letter-spacing:.12em}
.hero-visual{overflow:hidden}
@media(prefers-reduced-motion:no-preference){
  .nav-services[open] .nav-services-menu{animation:menu-surface .35s cubic-bezier(.16,1,.3,1) both}
  .nav-services[open] .nav-services-list>a{animation:menu-item .4s cubic-bezier(0,0,.2,1) both}
  .nav-services-list>a:nth-child(2n){animation-delay:35ms}.nav-services-list>a:nth-child(n+3){animation-delay:60ms}.nav-services-list>a:nth-child(n+5){animation-delay:90ms}
  .site-header .brand img{transition:transform .35s cubic-bezier(.4,0,.2,1)}
  .site-header .brand:hover img,.site-header .brand:focus-visible img{transform:translateY(-2px)}
  .practice-card h3{transition:translate .5s cubic-bezier(.16,1,.3,1)}
  .practice-card:hover h3,.practice-card:focus-visible h3{translate:6px 0}
  .practice-card .practice-bottom>.icon{transition:transform .5s cubic-bezier(.16,1,.3,1),color .25s ease,background-color .25s ease,border-color .25s ease}
  .practice-card:hover .practice-bottom>.icon,.practice-card:focus-visible .practice-bottom>.icon{transform:translate(2px,-2px) rotate(45deg)}
  .button .icon,.hero-secondary .icon{transition:translate .35s cubic-bezier(.16,1,.3,1)}
  .button:hover .icon,.button:focus-visible .icon,.hero-secondary:hover .icon,.hero-secondary:focus-visible .icon{translate:3px -2px}
  @supports(animation-timeline:view()){
    @media(min-width:1024px){
      .hero{view-timeline-name:--hero-photo;view-timeline-axis:block}
      .hero-image{animation:hero-depth linear both;animation-timeline:--hero-photo;animation-range:exit 0% exit 100%}
    }
    .practice-figure{view-timeline-name:--practice-photo;view-timeline-axis:block;overflow:hidden}
    .practice-image{animation:photo-depth linear both;animation-timeline:--practice-photo;animation-range:entry 0% exit 100%}
  }
}
@keyframes menu-surface{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@keyframes menu-item{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}
@keyframes hero-depth{from{transform:scale(1.04) translateY(0)}to{transform:scale(1.12) translateY(3%)}}
@keyframes photo-depth{from{scale:1.08}to{scale:1}}
@media(max-width:600px){.intro-loading .intro-logo{width:84px;height:84px}.intro-loading .intro-emblem{width:100px;height:100px}.practice-card:hover h3{translate:none}}
@media(prefers-reduced-motion:reduce){.hero-image,.practice-image,.nav-services-menu,.nav-services-list>a{animation:none!important}.practice-card h3,.button .icon,.hero-secondary .icon,.site-header .brand img{transition:none;translate:none;transform:none}}
@media print{.hero-image,.practice-image,.nav-services-menu,.nav-services-list>a{animation:none!important}}
