/* Efectos visuales profesionales */
.site-shell{position:relative;isolation:isolate;overflow:hidden}
.site-shell::before,.site-shell::after{content:"";position:fixed;pointer-events:none;z-index:0;border-radius:50%;filter:blur(4px);opacity:.32}
.site-shell::before{width:360px;height:360px;top:14%;left:-190px;background:radial-gradient(circle,rgba(36,164,245,.48),rgba(36,164,245,0) 70%);animation:mgfFloatOne 13s ease-in-out infinite}
.site-shell::after{width:440px;height:440px;right:-230px;bottom:8%;background:radial-gradient(circle,rgba(246,200,95,.27),rgba(246,200,95,0) 70%);animation:mgfFloatTwo 16s ease-in-out infinite}
.site-shell>main,.site-shell>footer{position:relative;z-index:1}
.site-shell>.site-header{position:relative;z-index:1000;overflow:visible;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.brand-logo{animation:mgfLogoFloat 5s ease-in-out infinite;filter:drop-shadow(0 8px 18px rgba(36,164,245,.2))}
.hero-video iframe{animation:mgfHeroDrift 18s ease-in-out infinite alternate}
.hero-motto{animation:mgfMottoIn .9s cubic-bezier(.2,.8,.2,1) both}
main>section:not(.hero){animation:mgfSectionIn .75s ease-out both}
main>section:nth-of-type(2){animation-delay:.12s}
main>section:nth-of-type(3){animation-delay:.22s}
.quick-card,.event-card,.content-card,.image-card,.care-card,.life-group-card,.ministry-card,.registration-card{transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease}
.quick-card:hover,.event-card:hover,.content-card:hover,.image-card:hover,.care-card:hover,.life-group-card:hover,.ministry-card:hover,.registration-card:hover{transform:translateY(-7px);border-color:rgba(49,171,245,.55);box-shadow:0 24px 55px rgba(0,0,0,.38),0 0 28px rgba(26,145,220,.09)}
.visit-button,.primary-button{position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.visit-button:hover,.primary-button:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(10,129,223,.32)}
.visit-button::after,.primary-button::after{content:"";position:absolute;inset:-50%;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.28) 50%,transparent 65%);transform:translateX(-75%);transition:transform .6s ease}
.visit-button:hover::after,.primary-button:hover::after{transform:translateX(75%)}
@keyframes mgfFloatOne{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(70px,45px,0) scale(1.12)}}
@keyframes mgfFloatTwo{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-85px,-55px,0) scale(.9)}}
@keyframes mgfLogoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes mgfHeroDrift{0%{transform:translate(-50%,-50%) scale(1)}100%{transform:translate(-50%,-50%) scale(1.045)}}
@keyframes mgfMottoIn{from{opacity:0;transform:translate(-32px,-50%)}to{opacity:1;transform:translate(0,-50%)}}
@keyframes mgfSectionIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){.site-shell::before{width:260px;height:260px}.site-shell::after{width:300px;height:300px}.quick-card:hover,.event-card:hover,.content-card:hover,.image-card:hover,.care-card:hover,.life-group-card:hover,.ministry-card:hover,.registration-card:hover{transform:translateY(-3px)}}
@media(max-width:1100px){.site-shell>.site-header{z-index:1000}.desktop-nav.open{z-index:1001;max-height:calc(100vh - 112px);overflow-y:auto;border:1px solid rgba(80,174,235,.38);background:#031a30;box-shadow:0 24px 60px rgba(0,0,0,.62)}.menu-toggle{position:relative;z-index:1002}}
@media(prefers-reduced-motion:reduce){.site-shell::before,.site-shell::after,.brand-logo,.hero-video iframe,.hero-motto,main>section:not(.hero){animation:none!important}.quick-card,.event-card,.content-card,.image-card,.care-card,.life-group-card,.ministry-card,.registration-card,.visit-button,.primary-button{transition:none!important}}
