.hero-container{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;background:transparent;height:80vh;overflow:hidden}.background-image-container{position:absolute;z-index:0;top:0;left:0}.background-image,.background-image-container{width:100%;height:100%;transition:transform .3s ease}.background-image{object-fit:cover}.hero-content{margin-top:4rem;margin-inline:1rem;background-color:var(--hero-background);color:var(--foreground);padding:2rem;position:relative;z-index:20;border-radius:8px}.hero-title{position:relative;cursor:default;font-size:clamp(2rem,2rem + 4vw,7rem);line-height:.9;transition:all 1s ease}.hero-title,.hero-title:after{color:var(--foreground);margin:0;padding:0}.hero-title:after{content:attr(data-shadow);position:absolute;opacity:.8;top:5px;left:5px;transform:translateX(-7px) translateY(-2px) scale(1);font-size:inherit;line-height:inherit;transition:all .5s ease;z-index:-1}.hero-title:hover:after{text-shadow:-4px 2px 10px var(--bluish);opacity:.5}.text-container{margin-left:4px;margin-top:1rem;display:flex;flex-direction:column;max-width:600px}.hero-text{font-size:18px}.hero-button{margin-top:1rem;color:var(--hero-button-text);border:1px solid var(--hero-button-border);background:#ffffff10;padding:.6em 1.5em;font-size:16px;border-radius:.5em;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.hero-button:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(100,180,255,.3) 0,transparent 50%);opacity:0;transition:opacity .4s ease,transform .4s ease;transform:scale(.5);pointer-events:none}.hero-button:hover:before{opacity:1}.hero-button:hover{border:1px solid #68b0ff;color:var(--foreground);padding-right:1.8em;box-shadow:0 0 15px rgba(100,180,255,.5),0 0 30px rgba(100,180,255,.2)}.hero-button:active{box-shadow:inset 2px 2px 6px #c5c5c5,inset -2px -2px 6px #fff;transform:translateY(2px)}.hero-content{overflow:hidden}.hero-button{transform:translateX(800px)}.button-slide-in{animation:slideInBounce 1s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideInBounce{0%{opacity:0;transform:translateX(calc(100% + 50px))}60%{opacity:1;transform:translateX(-20px)}80%{transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}