/* Progressive visual effects. Content remains visible without JavaScript. */
.hero.fx-has-field{isolation:isolate}
.hero-field{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;opacity:.78;mask-image:linear-gradient(180deg,#000 0%,#000 76%,transparent 100%)}
.hero.fx-has-field>.hero-inner,.hero.fx-has-field>.hero-bottom{position:relative;z-index:1}
.fx-scroll-progress{position:fixed;inset:0 0 auto;height:2px;z-index:120;pointer-events:none;transform:scaleX(var(--fx-progress,0));transform-origin:0 50%;background:linear-gradient(90deg,#d88844 0%,#beb7a6 44%,#7dbec9 100%);opacity:.86;box-shadow:0 0 12px #8fc4cc24}

.fx-reveal{opacity:0;translate:0 26px;filter:blur(3px);transition:opacity .8s cubic-bezier(.22,1,.36,1),translate .95s cubic-bezier(.22,1,.36,1),filter .8s cubic-bezier(.22,1,.36,1);transition-delay:var(--fx-delay,0ms)}
.fx-reveal.fx-visible,.fx-reveal:focus-within{opacity:1;translate:0 0;filter:blur(0)}
.fx-number-rise{display:inline-block}
.fx-number-enter .fx-number-rise{animation:fx-number-arrive .8s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--fx-number-delay,0ms)}
@keyframes fx-number-arrive{from{opacity:0;transform:translate3d(0,.65em,0);filter:blur(3px)}to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}}

@media(hover:hover) and (pointer:fine){
  .button.fx-magnet{position:relative;isolation:isolate;overflow:hidden;translate:var(--fx-button-x,0px) var(--fx-button-y,0px);transition:translate .32s cubic-bezier(.2,.8,.2,1),background .22s,border-color .22s,transform .22s,box-shadow .3s}
  .button.fx-magnet::before{content:"";position:absolute;inset:-1px;z-index:-1;pointer-events:none;opacity:0;background:radial-gradient(150px circle at var(--fx-pointer-x,50%) var(--fx-pointer-y,50%),#fff5 0%,#82dce21c 38%,transparent 72%);transition:opacity .3s}
  .button.fx-magnet::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;box-shadow:inset 0 0 0 1px #e2f5f248;transition:opacity .3s}
  .button.fx-magnet:hover::before,.button.fx-magnet:hover::after{opacity:1}
  .button.fx-magnet:hover{box-shadow:0 4px 26px #a5d7dc14}
  .hero-visual.fx-tilt{rotate:var(--fx-axis-x,0) var(--fx-axis-y,1) 0 var(--fx-tilt-angle,0deg);transform-style:preserve-3d;transition:rotate .55s cubic-bezier(.18,.75,.25,1)}
  .hero-visual.fx-tilt.fx-pointed{transition-duration:.2s}
}

@media(max-width:760px){.hero-field{opacity:.55}.fx-reveal{translate:0 18px;filter:blur(2px);transition-duration:.7s}.fx-number-enter .fx-number-rise{animation-duration:.6s}}
@media(prefers-reduced-motion:reduce){.fx-reveal{opacity:1;translate:none;filter:none;transition:none}.fx-number-enter .fx-number-rise{animation:none}.button.fx-magnet{translate:none!important}.hero-visual.fx-tilt{rotate:none!important;transition:none}.fx-scroll-progress{box-shadow:none}}
@media print{.hero-field,.fx-scroll-progress{display:none!important}.fx-reveal{opacity:1;translate:none;filter:none}.fx-number-enter .fx-number-rise{animation:none}}
