.reveal{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}
.reveal.visible{opacity:1;transform:none}
.reveal[data-delay="1"]{transition-delay:.08s}
.reveal[data-delay="2"]{transition-delay:.16s}
.reveal[data-delay="3"]{transition-delay:.24s}
.reveal[data-delay="4"]{transition-delay:.32s}
.card img,.hero-media img{transition:transform .6s ease}
.card:hover img{transform:scale(1.03)}
@keyframes floatIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.hero .eyebrow{animation:floatIn .5s ease both}
@keyframes pulse-ring{0%{box-shadow:0 0 0 0 rgba(15,108,189,.35)}70%{box-shadow:0 0 0 10px rgba(15,108,189,0)}100%{box-shadow:0 0 0 0 rgba(15,108,189,0)}}
.btn-primary:focus-visible{animation:pulse-ring 1s ease}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none !important;transition:none !important}
  .reveal{opacity:1;transform:none}
}
/* Ambient motion background: dark blurred orbs drifting site-wide */
body{position:relative;isolation:isolate}
body::before{content:"";position:fixed;inset:-12%;z-index:0;pointer-events:none;
  background:
    radial-gradient(44rem 32rem at 10% 6%, rgba(15,108,189,.22), transparent 62%),
    radial-gradient(38rem 30rem at 88% 12%, rgba(79,107,237,.20), transparent 62%),
    radial-gradient(46rem 36rem at 50% 108%, rgba(10,74,130,.22), transparent 62%),
    radial-gradient(30rem 26rem at 92% 88%, rgba(79,107,237,.14), transparent 60%);
  animation:ambient-drift 38s ease-in-out infinite alternate;will-change:transform}
main,.footer{position:relative;z-index:1}
@keyframes ambient-drift{from{transform:translate3d(-2.5%,-1.5%,0) scale(1)}to{transform:translate3d(2.5%,2%,0) scale(1.07)}}
@media (prefers-color-scheme: dark){
  html:not([data-theme="light"]):not([data-theme="dark"]) body::before{background:
    radial-gradient(44rem 32rem at 10% 6%, rgba(15,108,189,.34), transparent 62%),
    radial-gradient(38rem 30rem at 88% 12%, rgba(79,107,237,.30), transparent 62%),
    radial-gradient(46rem 36rem at 50% 108%, rgba(15,108,189,.30), transparent 62%),
    radial-gradient(30rem 26rem at 92% 88%, rgba(79,107,237,.22), transparent 60%)}
}
html[data-theme="dark"] body::before{background:
  radial-gradient(44rem 32rem at 10% 6%, rgba(15,108,189,.34), transparent 62%),
  radial-gradient(38rem 30rem at 88% 12%, rgba(79,107,237,.30), transparent 62%),
  radial-gradient(46rem 36rem at 50% 108%, rgba(15,108,189,.30), transparent 62%),
  radial-gradient(30rem 26rem at 92% 88%, rgba(79,107,237,.22), transparent 60%)}
html[data-theme="light"] body::before{background:
  radial-gradient(44rem 32rem at 10% 6%, rgba(15,108,189,.22), transparent 62%),
  radial-gradient(38rem 30rem at 88% 12%, rgba(79,107,237,.20), transparent 62%),
  radial-gradient(46rem 36rem at 50% 108%, rgba(10,74,130,.22), transparent 62%),
  radial-gradient(30rem 26rem at 92% 88%, rgba(79,107,237,.14), transparent 60%)}
