:root{--motion-enter:cubic-bezier(0,0,.2,1);--motion-exit:cubic-bezier(.4,0,1,1);--motion-state:cubic-bezier(.4,0,.2,1)}
@keyframes editorial-reveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
  .hero-copy>*,.case-hero-copy>*,.internal-hero h1,.internal-hero .internal-lead{animation:editorial-reveal 240ms var(--motion-enter) backwards}
  .hero-copy>h1,.case-hero-copy>h1{animation-delay:40ms}
  .hero-copy>.hero-lead,.case-hero-copy>p:not(.eyebrow),.internal-hero .internal-lead{animation-delay:80ms}
  .hero-copy>.button{animation-delay:120ms}
}
.button,.text-link,.project-link,.quote-controls button{transition:background-color 160ms var(--motion-state),color 160ms var(--motion-state),border-color 160ms var(--motion-state)}
.button i,.text-link i,.project-link i{transition:transform 160ms var(--motion-state)}
.project-image{overflow:hidden}
.featured-project{overflow:hidden}
.feature-art{transition:transform 250ms var(--motion-state);transform-origin:75% 65%}
.project-image img,.case-card img{transition:transform 250ms var(--motion-state),filter 250ms var(--motion-state)}
.case-card>a{overflow:hidden;border-radius:22px}
.quote-slide{position:relative}
.quotes-content>[aria-live]{position:relative}
.quote-outgoing{position:absolute;inset:0 auto auto 0;width:100%;pointer-events:none}
.faq summary i{transition:transform 180ms var(--motion-state)}
.faq .motion-details summary i{transform:rotate(0deg)}
.faq .motion-details.is-expanded summary i{transform:rotate(180deg)}
.faq .motion-details .faq-answer{display:grid;grid-template-rows:0fr;opacity:0;padding:0;transition:grid-template-rows 240ms var(--motion-state),opacity 180ms var(--motion-enter)}
.faq-answer-inner{min-height:0;overflow:hidden}
.faq-answer-inner>p:first-child{margin-top:0}
.faq-answer-inner>p:last-child{margin-bottom:24px}
.faq .motion-details.is-expanded .faq-answer{grid-template-rows:1fr;opacity:1}
@media(hover:hover) and (pointer:fine){
  .featured-project:has(.project-link:hover) .feature-art,.featured-project:has(.project-link:focus-visible) .feature-art{transform:scale(1.02)}
  .button:hover i,.text-link:hover i,.project-link:hover i{transform:translateX(2px)}
  .project-image:hover img,.project-image:focus-visible img,.case-card>a:hover img,.case-card>a:focus-visible img{transform:scale(1.02);filter:brightness(.97)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,::before,::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .project-image img,.case-card img,.feature-art,.button i,.text-link i,.project-link i{transform:none!important}
}
