/* Motion is opt-in through progressive enhancement and off for reduced motion. */
#motion-toggle{font:inherit;color:inherit;background:none;border:0;border-bottom:1px solid currentColor;padding:0 0 3px;cursor:pointer;white-space:nowrap}
.hero-art{transition:transform .8s cubic-bezier(.2,.75,.2,1)}
.motion-enabled .hero-copy>.eyebrow{animation:headline-arrive .65s both}
.motion-enabled .hero-copy h1{animation:headline-arrive .95s .06s both}
.motion-enabled .hero-copy>p{animation:headline-arrive .9s .16s both}
.motion-enabled .hero-explore{animation:headline-arrive .8s .24s both}
.motion-enabled .universes{animation:panel-arrive 1s .12s both}
.motion-enabled .hero-art.art-visible img{animation:sculpture-breathe 9s ease-in-out infinite;will-change:transform}
.motion-enabled .hero-art:not(.art-visible) img{animation-play-state:paused;will-change:auto}
.motion-enabled .page-hero h1{animation:headline-arrive .85s both}
.motion-enabled .page-hero .lead{animation:headline-arrive .8s .12s both}
.motion-enabled .motion-item.entered{animation:section-arrive .85s var(--stagger,0ms) cubic-bezier(.16,.7,.2,1) both}
.motion-enabled .motion-kind-1.entered{animation-name:service-arrive;animation-duration:.7s}
.motion-enabled .motion-kind-2.entered{animation-name:project-arrive;animation-duration:1s}
.motion-enabled .motion-kind-3.entered{animation-name:detail-arrive;animation-duration:.75s}
.motion-enabled #mobile-menu:not([hidden]){animation:menu-open .35s cubic-bezier(.2,.7,.2,1) both}
.motion-enabled #mobile-menu:not([hidden]) a{animation:menu-link .4s both}
.motion-enabled #mobile-menu a:nth-child(2){animation-delay:35ms}.motion-enabled #mobile-menu a:nth-child(3){animation-delay:70ms}.motion-enabled #mobile-menu a:nth-child(4){animation-delay:105ms}.motion-enabled #mobile-menu a:nth-child(5){animation-delay:140ms}.motion-enabled #mobile-menu a:nth-child(6){animation-delay:175ms}
.menu-toggle>span{display:inline-block;transition:transform .35s}.menu-toggle[aria-expanded=true]>span{transform:rotate(45deg)}
.motion-enabled .universe-body{transition:transform .45s var(--ease)}
.motion-enabled .universe:hover .universe-body,.motion-enabled .universe:focus-visible .universe-body{transform:translateX(5px)}
.universe-link{position:relative}.universe-link:after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s}
.universe:hover .universe-link:after,.universe:focus-visible .universe-link:after{transform:scaleX(1)}
.motion-enabled .button>span{transition:transform .35s}.motion-enabled .button:hover>span,.motion-enabled .button:focus-visible>span{transform:translate(3px,-3px)}
.motion-enabled .hero-explore:hover>span{transform:translateY(3px)}.hero-explore>span{transition:transform .3s}
.motion-enabled .service h3{transition:transform .35s}.motion-enabled .service:hover h3,.motion-enabled .service:focus-visible h3{transform:translateX(5px)}
.motion-enabled .text-link>span{transition:transform .3s}.motion-enabled .text-link:hover>span{transform:translate(3px,-3px)}
@keyframes headline-arrive{from{opacity:.5;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes panel-arrive{from{opacity:.75;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes sculpture-breathe{0%,100%{transform:translateY(0) rotate(-1deg) scale(1)}50%{transform:translateY(-9px) rotate(1deg) scale(1.025)}}
@keyframes section-arrive{from{opacity:.7;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes service-arrive{from{opacity:.75;transform:translateX(-18px)}to{opacity:1;transform:none}}
@keyframes project-arrive{from{opacity:.8;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
@keyframes detail-arrive{from{opacity:.75;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes menu-open{from{opacity:.5;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes menu-link{from{opacity:.6;transform:translateX(-12px)}to{opacity:1;transform:none}}
@media(max-width:700px){.motion-enabled .hero-art.art-visible img{animation-duration:12s}@keyframes sculpture-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.015)}}}
body:not(.motion-enabled) *,body:not(.motion-enabled) *:before,body:not(.motion-enabled) *:after{animation:none!important;transition:none!important}
html:has(body:not(.motion-enabled)){scroll-behavior:auto}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-art{transform:none!important}.motion-item{opacity:1;transform:none!important}}
