.main-navbar,.whatsapp-float,.scroll-to-top,.flyer-card,.gallery-image,.competitions-gallery-item{will-change:transform}
.modal-content{will-change:transform,opacity}
.carousel-arrow{transition:background-color .2s ease,opacity .2s ease,transform .15s ease}
.gallery-image,.competitions-gallery-item{transition:transform .2s ease,box-shadow .2s ease}
.class-flyer-grid-wrapper{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}
.flyer-image{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;object-position:center;background-color:#e9e9e9;border-bottom:4px solid var(--accent-purple);display:block}
.carousel-arrow:focus,.nav-toggle:focus,a:focus-visible,button:focus-visible{outline:3px solid rgba(123,31,162,.25);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
img[loading="lazy"]{opacity:0;transition:opacity .3s ease}
img[loading="lazy"].loaded,img[loading="lazy"][src]{opacity:1}
@media (hover:hover){.flyer-card,.gallery-image,.competitions-gallery-item,.carousel-arrow,.btn-primary,.btn-secondary,.btn-galeria{transition-timing-function:cubic-bezier(.4,0,.2,1)}}
.flyer-card,.format-card,.progress-card,.benefit-item,.level-item,.competitions-gallery-item{contain:content}
.carousel-container,.gallery-grid,.competitions-gallery{contain:layout style}
.whatsapp-float,.scroll-to-top,.carousel-arrow,.modal-content{transform:translateZ(0);backface-visibility:hidden}
.main-navbar{will-change:background-color,box-shadow}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
@supports (backdrop-filter:blur(10px)){.main-navbar.navbar-scrolled{backdrop-filter:blur(10px)}}
.main-navbar{background-color:var(--primary-purple)!important}
@media (max-width:768px){.main-navbar{background-color:var(--primary-purple)!important}}
*{-webkit-tap-highlight-color:transparent}
.video-background video{will-change:auto}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Rendimiento: diferir el render de secciones fuera de pantalla */
.section-padded{content-visibility:auto;contain-intrinsic-size:1px 800px}
