/* Architectural photo reveals are in site-motion.js; interactions stay responsive. */
@media(prefers-reduced-motion:no-preference){
 .cooperation-modal[open],.notice-modal[open]{animation:panel-open 320ms cubic-bezier(.22,1,.36,1)}
 .mobile-menu[open]{animation:menu-open 360ms cubic-bezier(.22,1,.36,1)}
 dialog[open]::backdrop{animation:surface-appear 220ms linear}
 .faq details[open]>:not(summary){animation:surface-appear 200ms linear}
 .small-button img{transition:translate 200ms cubic-bezier(.25,1,.5,1),filter 180ms ease-out}
 .collection-image>img{transition:translate 550ms cubic-bezier(.22,1,.36,1)}
 .button,.small-button{transition:background-color 200ms,color 200ms,box-shadow 200ms,scale 140ms cubic-bezier(.25,1,.5,1)}
 .button:active,.small-button:active{scale:.98}
 @media(hover:hover) and (pointer:fine){
  .small-button:hover img{translate:4px 0}
  .collection-image:is(a[href],button):hover>img{translate:0 -7px}
 }
}
@keyframes surface-appear{from{opacity:0}to{opacity:1}}
@keyframes panel-open{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}
@keyframes menu-open{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0% 0)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media print{*,*::before,*::after{animation:none!important;transition:none!important}}
@media(prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){
 .collection-banner-photo{transition:transform 800ms cubic-bezier(.22,1,.36,1)}
 .collection-banner:is(a[href],button):hover .collection-banner-photo{transform:scale(1.035)}
}
