/* Calm movement follows the reading order and leaves native navigation intact. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
@media(prefers-reduced-motion:no-preference){
  .motion-enabled [data-reveal]{transition:opacity .7s var(--motion-ease) var(--reveal-delay,0ms),transform .8s var(--motion-ease) var(--reveal-delay,0ms)}
  .motion-enabled [data-reveal]:not([data-revealed]){opacity:0;transform:translateY(22px)}
  .motion-enabled [data-reveal][data-revealed]{opacity:1;transform:translateY(0)}
  .motion-enabled [data-reveal]:focus-within{opacity:1;transform:none;transition:none}
  .site-header{transition:box-shadow .35s ease,background .35s ease}
  .site-header.is-scrolled{box-shadow:0 5px 24px #263b3510;background:#f5f2e9}
  .site-header nav>a::after{transition:opacity .25s ease,transform .3s var(--motion-ease);transform:translateY(4px)}
  .site-header nav>a:hover::after,.site-header nav>a[aria-current]::after{transform:translateY(0)}
  .brand-mark>span{transition:transform .65s var(--motion-ease)}
  .brand:hover .brand-mark>span{transform:rotate(90deg)}
  .button,.outline-button,.nav-contact,.circle-link{transition:background .28s ease,color .28s ease,border-color .28s ease,box-shadow .35s ease}
  .button:hover,.outline-button:hover{box-shadow:0 6px 16px #263b3514}
  .button>span,.text-link>span,.request-list>a>span:last-child,.circle-link>span{transition:transform .4s var(--motion-ease)}
  .button:hover>span,.text-link:hover>span{transform:translate(5px,-5px)}
  .request-list>a{transition:background .3s ease,padding .4s var(--motion-ease)}
  .request-list>a:hover>span:last-child{transform:translate(4px,-4px)}
  .circle-link:hover>span{transform:translate(5px,-5px)}
  .resource-image{overflow:hidden}
  .resource-image img{transition:transform .8s var(--motion-ease)}
  .resource-image:hover img,.resource-image:focus-visible img{transform:scale(1.035)}
  .image-action{transition:background .3s ease,color .3s ease}
  .resource-image:hover .image-action{background:#e8d995;color:#263b35}
  .filters button,.topic-options span{transition:background .25s ease,color .25s ease,border-color .25s ease}
  .field input,.field textarea,.search-label input{transition:border-color .25s ease}
  .field input:focus,.field textarea:focus,.search-label input:focus{border-color:#263b35}
  #draft-result:not([hidden]){animation:response-enter .4s var(--motion-ease) both}
  @keyframes response-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
  @media(max-width:850px){
    .site-header nav.is-open{animation:menu-enter .4s var(--motion-ease) both}
    .site-header nav.is-open>a{animation:menu-link-enter .5s var(--motion-ease) both}
    .site-header nav.is-open>a:nth-child(2){animation-delay:40ms}
    .site-header nav.is-open>a:nth-child(3){animation-delay:80ms}
    .site-header nav.is-open>a:nth-child(4){animation-delay:120ms}
    .site-header nav.is-open>a:nth-child(5){animation-delay:160ms}
    @keyframes menu-enter{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
    @keyframes menu-link-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
  }
  /* Supported browsers crossfade full pages; other browsers use native navigation. */
  @view-transition{navigation:auto}
  ::view-transition-old(root){animation:page-out .18s ease both}
  ::view-transition-new(root){animation:page-in .32s ease both}
  @keyframes page-out{to{opacity:0}}
  @keyframes page-in{from{opacity:0}to{opacity:1}}
}
@media(prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1!important;transform:none!important}
  ::view-transition-old(root),::view-transition-new(root){animation:none!important}
}
