.sidebar-close{--t: .25s;font-size:2rem;line-height:1;background:transparent;border:0;cursor:pointer;transition:transform var(--t) cubic-bezier(.33,1,.68,1)}.sidebar-close:hover{transform:rotate(90deg) scale(1.05)}.sidebar-closing .sidebar-close{animation:btnSpin .4s cubic-bezier(.33,1,.68,1) forwards}@keyframes btnSpin{to{transform:rotate(-360deg)}}@media(prefers-reduced-motion:reduce){.sidebar-close,.sidebar-close:hover,.sidebar-closing .sidebar-close{animation:none;transition:none;transform:none}}.sidebar{transition:transform var(--t) cubic-bezier(.33,1,.68,1)}.sidebar.open{transform:translate(0)}.sidebar.closing{transform:translate(120%)}.burger{width:32px;height:24px;position:relative;padding:0;border:none;background:transparent}.burger .bar{position:absolute;left:0;width:100%;height:3px;background:#212529;transition:transform .3s ease,opacity .3s ease,background-color .3s ease}.burger .bar:nth-child(1){top:0}.burger .bar:nth-child(2){top:10px}.burger .bar:nth-child(3){top:20px}.burger:hover .bar,.burger:focus-visible .bar{background:#dc3545}.burger:hover .bar:nth-child(1),.burger:focus-visible .bar:nth-child(1){transform:translateY(-2px)}.burger:hover .bar:nth-child(3),.burger:focus-visible .bar:nth-child(3){transform:translateY(2px)}.burger:hover .bar:nth-child(2),.burger:focus-visible .bar:nth-child(2){opacity:.7}.hero{position:relative}.hero-button-overlay{position:absolute;left:50%;bottom:6vh;transform:translate(-50%);display:flex;flex-direction:column;gap:1rem;align-items:center}.js-hero-overlay{opacity:1}@keyframes slideUpFade{to{opacity:1;transform:translate(-50%)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.title{text-align:center;font-size:2rem;font-weight:700;margin-bottom:20px;opacity:0;transform:translateY(-20px);transition:opacity .8s ease-out,transform .8s ease-out}.title.show{opacity:1;transform:translateY(0)}.animate{opacity:0;transform:translateY(50px);transition:opacity .8s ease-out,transform .8s ease-out}.show{opacity:1;transform:translateY(0)}@keyframes fadePopIn{0%{opacity:0;transform:translateY(80px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-on-scroll{opacity:0}.animate-on-scroll.in-view{animation:fadePopIn .8s ease-out forwards}section.animate-on-scroll{min-height:40vh}@media screen and (max-width:778px){body .js-hero-overlay{opacity:1;transform:none;position:relative;bottom:0;top:0;left:0;padding:15px 0;background:#fff}}
