a,button,input,select,textarea{min-height:44px;min-width:44px}.mobile-scroll{-webkit-overflow-scrolling:touch}.no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tap-highlight{-webkit-tap-highlight-color:transparent}@media (hover:none) and (pointer:coarse){a:focus,button:focus{outline:2px solid hsl(var(--ring));outline-offset:2px}}@media (max-width:768px){.text-responsive{font-size:clamp(.875rem,2.5vw,1rem)}.heading-responsive{font-size:clamp(1.5rem,5vw,2.5rem)}}.mobile-image{max-width:100%;height:auto;display:block}@media (max-width:480px){.animate-float,.animate-glow-pulse,.animate-gradient-shift,.animate-scale-pulse{animation-duration:3s!important;animation-iteration-count:2!important}.animate-stagger-children>*{animation-delay:0s!important}@media (prefers-reduced-motion:reduce){.animate-shimmer{animation:none!important;background:linear-gradient(90deg,#2a2a2a 25%,#3a3a3a 50%,#2a2a2a 75%)}}}@media (max-width:768px){@media (prefers-reduced-data:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}}.low-end-device .animate-float,.low-end-device .animate-gradient-shift,.low-end-device .animate-scale-pulse{animation:none!important}.low-end-device .animate-shimmer{animation:none!important;background:linear-gradient(90deg,#2a2a2a 25%,#3a3a3a 50%,#2a2a2a 75%)}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}@supports (view-transition-name:test){[data-view-transition]{contain:layout}::view-transition-group(*){animation-duration:.3s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(root){animation:fade-out .16s cubic-bezier(.4,0,.2,1) both}::view-transition-new(root){animation:fade-in-up .22s cubic-bezier(.4,0,.2,1) both}::view-transition-old(*){animation:fade-out .14s cubic-bezier(.4,0,.2,1) both}::view-transition-new(*){animation:fade-in .24s cubic-bezier(.4,0,.2,1) both}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.low-end-device [data-view-transition]{view-transition-name:none!important}