/* Motion is progressive enhancement: the uninitialised page stays visible. */
:root{--reveal-travel:12px;--reveal-duration:400ms;--reveal-step:75ms;--motion-ease:cubic-bezier(.22,.61,.36,1)}
html{scroll-behavior:smooth}
.motion-pending{opacity:0;translate:0 var(--reveal-travel)}
.motion-revealing{animation:shc-reveal var(--reveal-duration) var(--motion-ease) calc(var(--reveal-order,0) * var(--reveal-step)) both}
@keyframes shc-reveal{from{opacity:0;translate:0 var(--reveal-travel)}to{opacity:1;translate:0 0}}
.motion-pending:focus-within,.motion-revealing:focus-within{opacity:1;translate:none;animation:none}
.button,.pathway-button{transition:background-color 200ms var(--motion-ease),border-color 200ms var(--motion-ease),color 200ms var(--motion-ease),transform 200ms var(--motion-ease)}
.nav a,.text-link,.nav-cta{transition:color 200ms var(--motion-ease),opacity 200ms var(--motion-ease),border-color 200ms var(--motion-ease)}
.button>span,.text-link>span,.nav-cta>span,.pathway-arrow{display:inline-block;transition:transform 200ms var(--motion-ease)}
.pathway-button:focus-visible{background:rgba(244,241,232,.5);color:var(--ink);border-color:var(--ink);transform:translateY(-2px)}
@media(hover:hover) and (pointer:fine){
  .pathway-button:hover{background:rgba(244,241,232,.5);color:var(--ink);border-color:var(--ink);transform:translateY(-2px)}
  .button:hover{transform:translateY(-1px)}
  .button:hover>span,.nav-cta:hover>span,.pathway-button:hover .pathway-arrow{transform:translate(2px,-2px)}
  .text-link:hover>span{transform:translateY(2px)}
  .text-link:hover,.nav-cta:hover{color:var(--gold-deep)}
}
@media(hover:none){.pathway-button:hover{transform:none;background:rgba(244,241,232,.32);color:var(--ink)}}
@media(max-width:900px){:root{--reveal-travel:8px;--reveal-duration:360ms;--reveal-step:40ms}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .motion-pending,.motion-revealing{opacity:1;translate:none;animation:none!important}
  .button,.pathway-button,.nav a,.text-link,.nav-cta,.button>span,.text-link>span,.nav-cta>span,.pathway-arrow{transition:none!important;transform:none!important}
}
@media print{.motion-pending,.motion-revealing{opacity:1;translate:none;animation:none!important}}
