/* Motion layer for the restored Amarai design. No layout, content or scroll replacement. */
:root{--motion-ease:cubic-bezier(.22,.7,.25,1)}
.page-curtain{transition:opacity .36s var(--motion-ease),visibility 0s .36s}
.page-curtain.loaded{transition:opacity .36s var(--motion-ease),visibility 0s .36s}
.page-curtain img{animation:brand-arrival .55s var(--motion-ease) both}
@keyframes brand-arrival{from{opacity:0;transform:translateY(9px) scale(.97)}to{opacity:1;transform:none}}
/* Staged headline, supporting copy and controls. */
.motion-ready .hero-line{animation:headline-arrival .78s var(--motion-ease) both}
.motion-ready .hero-line.second{animation-delay:.11s}
.motion-ready .hero-top{animation:quiet-arrival .55s var(--motion-ease) both}
.motion-ready .hero-bottom>p{animation:quiet-arrival .6s .18s var(--motion-ease) both}
.motion-ready .hero-bottom>.pill{animation:quiet-arrival .6s .26s var(--motion-ease) both}
.motion-ready .hero-bottom>.scroll-label{animation:quiet-arrival .6s .33s var(--motion-ease) both}
.motion-ready .subhero>.eyebrow{animation:quiet-arrival .5s var(--motion-ease) both}
.motion-ready .subhero h1,.motion-ready .contact-intro h1{animation:headline-arrival .7s .07s var(--motion-ease) both}
.motion-ready .subhero-bottom>p,.motion-ready .contact-intro>p:last-child{animation:quiet-arrival .6s .19s var(--motion-ease) both}
.motion-ready:not(.page-ready) .hero-line,.motion-ready:not(.page-ready) .hero-top,.motion-ready:not(.page-ready) .hero-bottom>*,.motion-ready:not(.page-ready) .entrance{animation-play-state:paused}
@keyframes headline-arrival{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes quiet-arrival{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
/* Short sequences, triggered once as the existing sections enter the viewport. */
.enhanced .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s var(--motion-ease),transform .65s var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
.enhanced .reveal.visible{opacity:1;transform:none}
.enhanced .reach-panel.reveal{transition:opacity .6s var(--motion-ease),transform .65s var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
.motion-word{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.1em;margin-bottom:-.1em}
.motion-word-inner{display:inline-block}
.enhanced .reveal .motion-word-inner{opacity:0;transform:translateY(105%);transition:transform .6s var(--motion-ease),opacity .45s ease;transition-delay:calc(var(--reveal-delay,0ms) + var(--word-delay,0ms))}
.enhanced .reveal.visible .motion-word-inner{opacity:1;transform:none}
.enhanced .media-reveal{transform:translateY(14px)}
.enhanced .media-reveal.visible{transform:none}
.enhanced .wide-image.media-reveal img{transform:scale(1.035);transition:transform .8s var(--motion-ease)}
.enhanced .wide-image.media-reveal.visible img{transform:scale(1)}
/* Surface and text interactions retain the current colours and proportions. */
.pill{isolation:isolate;transition:background .24s var(--motion-ease),color .24s var(--motion-ease),transform .24s var(--motion-ease),box-shadow .24s var(--motion-ease)}
.pill:before{content:'';position:absolute;inset:0;z-index:-1;background:#ffffff35;transform:translateY(102%);transition:transform .26s var(--motion-ease);pointer-events:none}
.pill:hover:before,.pill:focus-visible:before{transform:none}
.pill:active{transform:translateY(0);box-shadow:none}
.text-link{transition:color .22s ease,text-decoration-color .22s ease}
.text-link:hover{text-decoration-color:transparent}
.enhanced .expertise-row.reveal{transition:opacity .55s var(--motion-ease),transform .6s var(--motion-ease),background .24s ease,color .24s ease;transition-delay:var(--reveal-delay,0ms),var(--reveal-delay,0ms),0ms,0ms}
.expertise-row .row-number{transition:transform .25s var(--motion-ease),color .25s ease}
.expertise-row:hover .row-number,.expertise-row:focus-visible .row-number{transform:translateY(-3px);color:#c8e5e8}
.expertise-row .row-action{transition:background .24s ease,color .24s ease,transform .24s var(--motion-ease)}
.expertise-row:hover .row-action{transform:translateY(-2px)}
.footer-links a{transition:color .22s ease,transform .22s var(--motion-ease)}
.footer-links a:hover,.footer-links a:focus-visible{transform:translateX(3px)}
.services-nav[open] .services-dropdown{animation:menu-arrival .24s var(--motion-ease) both}
.services-nav[open] .services-dropdown a{animation:quiet-arrival .22s var(--motion-ease) both}
.services-dropdown a:nth-of-type(2){animation-delay:25ms!important}.services-dropdown a:nth-of-type(3){animation-delay:50ms!important}.services-dropdown a:nth-of-type(4){animation-delay:75ms!important}.services-dropdown a:nth-of-type(5){animation-delay:100ms!important}
@keyframes menu-arrival{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.enquiry-dialog[open]{animation:dialog-arrival .25s var(--motion-ease) both}
.enquiry-dialog[open]::backdrop{animation:backdrop-arrival .2s ease both}
@keyframes dialog-arrival{from{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}
@keyframes backdrop-arrival{from{opacity:0}to{opacity:1}}
.enhanced .reveal:focus-within,.enhanced .reveal:focus-visible{opacity:1;transform:none;transition-delay:0ms}
.enhanced .reveal:focus-within .motion-word-inner{opacity:1;transform:none;transition-delay:0ms}
::view-transition-old(root){animation:page-departure .18s ease both}
::view-transition-new(root){animation:page-arrival .3s var(--motion-ease) both}
@keyframes page-departure{to{opacity:0}}
@keyframes page-arrival{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
/* Less motion on touch devices and full visibility with reduced motion. */
@media(max-width:700px),(pointer:coarse){
 .enhanced .reveal,.enhanced .reach-panel.reveal{transform:translateY(10px);transition-duration:.45s;transition-delay:0ms}
 .enhanced .reveal.visible{transform:none}
 .enhanced .expertise-row.reveal{transition-duration:.45s,.45s,.2s,.2s;transition-delay:0ms}
 .enhanced .reveal .motion-word-inner{transform:translateY(35%);transition-duration:.45s;transition-delay:var(--word-delay,0ms)}
 .enhanced .reveal.visible .motion-word-inner{transform:none}
 .enhanced .wide-image.media-reveal img{transform:none}
 .expertise-row:hover .row-number,.expertise-row:hover .row-action,.footer-links a:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
 .page-curtain{display:none}
 .motion-ready .hero-line,.motion-ready .hero-top,.motion-ready .hero-bottom>*,.motion-ready .entrance{animation:none!important;opacity:1;transform:none}
 .enhanced .reveal,.enhanced .reach-panel.reveal,.enhanced .reveal .motion-word-inner{opacity:1;transform:none;transition:none}
 .enhanced .wide-image.media-reveal img{transform:none;transition:none}
 .pill:before{transition:none}
 ::view-transition-old(root),::view-transition-new(root){animation:none!important}
}
