.hw-accelerate{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.smooth-transition{transition:all .2s cubic-bezier(.4,0,.2,1)}.fast-transition{transition:all .15s cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.optimize-rendering,img{content-visibility:auto}.optimize-rendering{contain:layout style paint}html{scroll-behavior:smooth}@supports (scroll-behavior:smooth){html{scroll-behavior:smooth}}.critical-section{contain:layout;will-change:auto}.optimize-text{text-rendering:optimizeSpeed;font-display:swap}.gpu-accelerated{will-change:transform,opacity;transform:translateZ(0)}.lazy-load{opacity:0;transition:opacity .3s ease-in-out}.lazy-load.loaded{opacity:1}.layout-stable{contain:layout size}.fade-in-view{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1)}.fade-in-view.in-view{opacity:1;transform:translateY(0)}.preload-fonts{font-display:swap}.composite-layer{will-change:transform;transform:translateZ(0);isolation:isolate}.hover-optimized{transition:transform .2s cubic-bezier(.4,0,.2,1)}.hover-optimized:hover{transform:scale(1.02)}.prevent-layout-shift{contain:layout;aspect-ratio:attr(width) /attr(height)}.loading-skeleton{background:linear-gradient(90deg,rgba(255,255,255,.1) 25%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.1) 75%);background-size:200% 100%;animation:shimmer 2s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (max-width:768px){.mobile-optimized{contain:layout style}.complex-animation{animation:none;transition:opacity .2s ease}}@media (max-width:768px) and (hover:none){.hover-effects{transform:none!important;transition:none!important}}.smooth-scroll-container{overflow-y:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.section-container{contain:layout style;content-visibility:auto;contain-intrinsic-size:0 400px}