/* Fade only while entering; no global hidden state or dependency on JavaScript to reveal content. */
:root{--art-motion-distance:44px;--art-motion-duration:1200ms}
.art-hero .art-btn-consult{background:#c59a48;color:#0b223d;border-color:#c59a48}
.art-hero .art-btn-consult:hover,.art-hero .art-btn-consult:focus-visible{background:#d4ad61;color:#0b223d;border-color:#d4ad61}
.art-hero .art-btn:focus-visible{outline:3px solid #fff;outline-offset:5px}
.art-motion-active{--animate-duration:var(--art-motion-duration);animation-timing-function:cubic-bezier(.25,.25,.3,1);animation-fill-mode:both}
.art-motion-active.animate__fadeInUp{animation-name:art-reveal}
@media(prefers-reduced-motion:no-preference){
 .art-hero:not(.art-hero-settled) .art-hero-image{animation:art-hero-settle 3000ms cubic-bezier(.25,.25,.3,1) both}
 .art-hero:not(.art-hero-settled) .art-hero-inner>*{animation:art-rise var(--art-motion-duration) cubic-bezier(.25,.25,.3,1) both}
 .art-hero .art-hero-inner>:nth-child(2){animation-delay:180ms}
 .art-hero .art-hero-inner>:nth-child(3){animation-delay:360ms}
 .art-hero .art-hero-inner>:nth-child(4){animation-delay:540ms}
 .art-hero:focus-within .art-hero-inner>*{animation:none}
 .art-hero-bottom>a{transition:color .25s ease,background .25s ease;border-radius:3px;padding:5px 10px;background:rgba(255,255,255,.07)}
 .art-hero-bottom>a:hover,.art-hero-bottom>a:focus-visible{background:rgba(255,255,255,.16);color:#fff}
 .art-btn{transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease}
 .art-text-link>span,.art-solution h3>span{display:inline-block;transition:transform .25s ease}
 .art-text-link:hover>span,.art-text-link:focus-visible>span,.art-solution:hover h3>span{transform:translate(2px,-2px)}
 @media(hover:hover) and (pointer:fine){
  .art-btn:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(11,34,61,.16)}
 }
 .art-btn:active,.art-btn:focus-visible{transform:none}
}
@keyframes art-rise{from{transform:translate3d(0,var(--art-motion-distance),0)}to{transform:translate3d(0,0,0)}}
@keyframes art-hero-settle{from{transform:scale(1.055)}to{transform:scale(1)}}
@media(max-width:767px){:root{--art-motion-distance:28px;--art-motion-duration:1000ms}}
@media(prefers-reduced-motion:reduce){.art-motion-active,.art-hero .art-hero-inner>*,.art-hero-image{opacity:1!important;transform:none!important;animation:none!important}}

/* Hover is a desktop affordance; keyboard focus always leaves the image still. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .art-card-image img,.art-solution-image img{transition:transform 650ms cubic-bezier(.25,.25,.3,1)}
 .art-card:hover .art-card-image img,.art-solution:hover .art-solution-image img{transform:scale(1.035)}
}
.art-card:focus-within .art-card-image img,.art-solution:focus-within .art-solution-image img{transform:none;transition:none}
@media(hover:none){.art-card:hover .art-card-image img,.art-solution:hover .art-solution-image img{transform:none}}
.art-text-link:focus-visible>span,.art-solution:focus-within h3>span{transform:none;transition:none}

@keyframes art-reveal{from{opacity:0;transform:translate3d(0,var(--art-motion-distance),0)}to{opacity:1;transform:translate3d(0,0,0)}}
