*,:before,:after{contain:style}button,[role=button],input,select,textarea,a{will-change:transform;touch-action:manipulation;transform:translateZ(0)}@media (hover:hover){button:hover,[role=button]:hover,a:hover{transition:transform .15s cubic-bezier(.4,0,.2,1);transform:scale(1.02)translateZ(0)}}button:active,[role=button]:active{transition:transform .1s cubic-bezier(.4,0,.2,1);transform:scale(.98)translateZ(0)}input,textarea{contain:layout;transform:translateZ(0)}select{transform:translateZ(0)}body[data-scroll-locked]{margin-right:0!important;overflow:auto!important}[data-radix-popper-content-wrapper],[data-radix-portal]{contain:layout style paint;will-change:transform,opacity}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)translateZ(0)}to{opacity:1;transform:translateY(0)translateZ(0)}}@keyframes slideIn{0%{transform:translate(-100%)translateZ(0)}to{transform:translate(0)translateZ(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transform:none!important}button:hover,[role=button]:hover,a:hover,button:active,[role=button]:active{transform:none!important}input:focus,textarea:focus,select:focus,button:focus-visible,[role=button]:focus-visible{transition:outline-offset .01ms!important}}@container (min-width:768px){.responsive-grid{contain:layout}}.scroll-container{-webkit-overflow-scrolling:touch;overflow-anchor:none;transform:translateZ(0)}h1,h2,h3,h4,h5,h6{font-display:swap;contain:layout style}img{contain:layout;transform:translateZ(0)}@media (max-width:767px){input[type=text],input[type=email],input[type=password],textarea,select{font-size:16px}button,[role=button],a{-webkit-tap-highlight-color:transparent;min-width:44px;min-height:44px}}@media (min-width:769px) and (hover:hover){a:hover,button:hover,[role=button]:hover{transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),background-color .2s cubic-bezier(.4,0,.2,1)}.hover\:shadow-lg:hover,.hover\:shadow-xl:hover{transition:box-shadow .3s cubic-bezier(0,0,.2,1),transform .3s cubic-bezier(0,0,.2,1)}.hover\:scale-110:hover,.hover\:scale-105:hover{transition:transform .15s cubic-bezier(0,0,.2,1)}.hover\:scale-\[1\.02\]:hover{transition:transform .2s cubic-bezier(.4,0,.2,1)}}@media (max-width:768px){button:hover,[role=button]:hover,a:hover{transform:none}button:active,[role=button]:active,a:active{transition:transform .1s cubic-bezier(.4,0,1,1);transform:scale(.95)translateZ(0)}.hover\:shadow-lg:hover,.hover\:shadow-xl:hover,.hover\:-translate-y-1:hover,.hover\:-translate-y-0\.5:hover{box-shadow:inherit;transform:translateZ(0)}}@media (prefers-reduced-motion:no-preference){html,a[href^=\#]:not([href=\#]){scroll-behavior:smooth}}:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px;transition:outline-offset .15s cubic-bezier(.4,0,.2,1)}:focus:not(:focus-visible){outline:none}
