/* Ardix motion layer. Rules live in MOTION-NOTES.txt. Layout and type stay in ardix.css. */

/* Nav underline: CSS only, one element. */
.nav nav a{position:relative}
.nav nav a::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.33,1,.68,1);pointer-events:none}
.nav nav a:hover::after,.nav nav a:focus-visible::after{transform:scaleX(1)}

.gal-slide{overflow:hidden}

/* Page intro start state. A tiny script in <head> adds .motion-intro before the first paint,
   so the title is never shown and then hidden. gsap-effects.js removes the class at once.
   If the script never runs, the failsafe animation shows everything after 1.5 s. */
.motion-intro :is(.hero-copy .eyebrow,.hero h1,.hero-sub,.sp-hero .eyebrow,.sp-hero h1,.sp-hero .intro,.legal>.eyebrow,.legal>h1,.legal>.lead-in){opacity:0;animation:ardix-intro-failsafe 0s 1.5s forwards}
.motion-intro .hero-stage>img{transform:scale(1.035);animation:ardix-intro-failsafe 0s 1.5s forwards}
@keyframes ardix-intro-failsafe{to{opacity:1;transform:none}}

@media(prefers-reduced-motion:reduce){.nav nav a::after{transition:none}}
