:root{--hero-animation-duration:20s;--hero-gradient-start:#4f46e5;--hero-gradient-end:#ec4899;--gradient-color-1:#4f46e5;--gradient-color-2:#7c3aed;--gradient-color-3:#ec4899}.gradient-background{position:absolute;inset:0;overflow:hidden;isolation:isolate;contain:layout style paint}.gradient-background:before{inset:-100%;background:linear-gradient(45deg,var(--gradient-color-1),var(--gradient-color-2),var(--gradient-color-3),var(--gradient-color-1));animation:gradient-rotate var(--hero-animation-duration) ease-in-out infinite}.gradient-background:after,.gradient-background:before{content:"";position:absolute;will-change:transform;transform:translateZ(0)}.gradient-background:after{inset:-50%;background:radial-gradient(circle at 30% 80%,var(--gradient-color-2),transparent 50%);animation:gradient-shift calc(var(--hero-animation-duration) * 1.5) ease-in-out infinite;opacity:.6}@keyframes gradient-rotate{0%,to{transform:translateZ(0) rotate(0deg) scale(1.5)}25%{transform:translate3d(-10%,10%,0) rotate(90deg) scale(1.6)}50%{transform:translate3d(10%,-10%,0) rotate(180deg) scale(1.5)}75%{transform:translate3d(5%,5%,0) rotate(270deg) scale(1.6)}}@keyframes gradient-shift{0%,to{transform:translateZ(0) scale(1)}33%{transform:translate3d(30%,-30%,0) scale(1.1)}66%{transform:translate3d(-20%,20%,0) scale(.9)}}@media (prefers-reduced-motion:reduce){.gradient-background:after,.gradient-background:before{animation:none}}@media (prefers-color-scheme:dark){:root{--hero-gradient-start:#312e81;--hero-gradient-end:#831843;--gradient-color-1:#312e81;--gradient-color-2:#581c87;--gradient-color-3:#831843}}.scroll-indicator{position:fixed;z-index:50;pointer-events:none;transition:opacity .3s ease-in-out,transform .3s ease-in-out}.scroll-indicator--top{top:0;left:0;right:0;height:var(--indicator-size,3px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.scroll-indicator--bottom{bottom:0;left:0;right:0;height:var(--indicator-size,3px);box-shadow:0 -2px 4px rgba(0,0,0,.1)}.scroll-indicator--left{top:0;left:0;bottom:0;width:var(--indicator-size,3px);box-shadow:2px 0 4px rgba(0,0,0,.1)}.scroll-indicator--right{top:0;right:0;bottom:0;width:var(--indicator-size,3px);box-shadow:-2px 0 4px rgba(0,0,0,.1)}.scroll-indicator__bar{width:100%;height:100%;transform-origin:left center;transition:transform .1s ease-out;will-change:transform}.scroll-indicator--bottom .scroll-indicator__bar,.scroll-indicator--top .scroll-indicator__bar{transform:scaleX(var(--progress,0))}.scroll-indicator--left .scroll-indicator__bar,.scroll-indicator--right .scroll-indicator__bar{transform:scaleY(var(--progress,0))}.scroll-indicator--hidden{opacity:0;pointer-events:none}.scroll-indicator--visible{opacity:1}.scroll-indicator--scrolling .scroll-indicator__bar{filter:brightness(1.2);box-shadow:0 0 10px currentColor}.scroll-indicator__percentage{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.75rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);white-space:nowrap;opacity:0;transition:opacity .3s}.scroll-indicator--scrolling .scroll-indicator__percentage{opacity:1}@media (prefers-reduced-motion:reduce){.scroll-indicator,.scroll-indicator__bar,.scroll-indicator__percentage{transition:none}}@media (prefers-contrast:high){.scroll-indicator__bar{outline:1px solid currentColor}}@media print{.scroll-indicator{display:none}}