/* ===== FECI Alive — dramatic motion layer ===== */
@media (prefers-reduced-motion: no-preference){

/* scroll progress bar */
.feci-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:99999;background:linear-gradient(90deg,#7A3D8D,#9456A6,#FCDA59);box-shadow:0 0 14px rgba(252,218,89,.55);pointer-events:none}

/* custom glow cursor */
html.feci-alive, html.feci-alive *{cursor:none !important}
html.feci-alive input, html.feci-alive textarea, html.feci-alive select, html.feci-alive #wpadminbar, html.feci-alive #wpadminbar *{cursor:auto !important}
.feci-cur{position:fixed;top:0;left:0;z-index:99998;pointer-events:none;border-radius:50%;transform:translate(-50%,-50%);will-change:transform}
.feci-cur-dot{width:9px;height:9px;background:#FCDA59;box-shadow:0 0 12px 2px rgba(252,218,89,.85),0 0 34px 8px rgba(148,86,166,.5);transition:width .2s,height .2s,background .2s}
.feci-cur-ring{width:40px;height:40px;border:2px solid rgba(203,162,218,.7);box-shadow:0 0 18px rgba(148,86,166,.35) inset;transition:width .28s cubic-bezier(.22,.61,.36,1),height .28s,border-color .28s,background .28s}
html.feci-alive.cur-hover .feci-cur-ring{width:66px;height:66px;border-color:#FCDA59;background:rgba(252,218,89,.10)}
html.feci-alive.cur-hover .feci-cur-dot{width:13px;height:13px}
html.feci-alive.cur-down .feci-cur-ring{width:30px;height:30px;border-color:#FCDA59}

/* floating orbs */
.feci-orbs{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.feci-orb{position:absolute;border-radius:50%;filter:blur(40px);opacity:.5;will-change:transform,margin;animation:feci-float 15s ease-in-out infinite}
.feci-orb.o1{width:360px;height:360px;background:radial-gradient(circle,#7A3D8D,transparent 70%);top:-90px;left:-70px}
.feci-orb.o2{width:280px;height:280px;background:radial-gradient(circle,#4F5BD5,transparent 70%);bottom:-80px;right:-50px;animation-duration:19s;animation-delay:-5s}
.feci-orb.o3{width:210px;height:210px;background:radial-gradient(circle,#FCDA59,transparent 70%);opacity:.22;top:38%;right:22%;animation-duration:23s;animation-delay:-9s}
@keyframes feci-float{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(34px,-26px) scale(1.09)}66%{transform:translate(-24px,20px) scale(.95)}}
.feci-orb-host{position:relative}
.feci-orb-host>*:not(.feci-orbs):not(.bg):not(.ov):not(video):not(.feci-scroll){position:relative;z-index:1}

/* 3D tilt / lift */
.feci-tilt{transition:transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s;transform-style:preserve-3d;will-change:transform}
.feci-tilt:not(.svc):hover{box-shadow:0 28px 64px rgba(0,0,0,.42)}
.tile,.card,.sermon,.feci-tst-card{transition:transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s}

/* magnetic baseline */
.btn{transition:transform .25s cubic-bezier(.22,.61,.36,1),box-shadow .3s}

/* animated underline for body links */
.feci .sec a:not(.btn):not(.tile):not(.link-more):not(.rsvp):not([class*=feci-]),.feci-footer a{position:relative}
.feci .sec a:not(.btn):not(.tile):not(.link-more):not(.rsvp):not([class*=feci-])::after,.feci-footer a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:100%;background:linear-gradient(90deg,#9456A6,#FCDA59);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.22,.61,.36,1)}
.feci .sec a:not(.btn):not(.tile):not(.link-more):not(.rsvp):not([class*=feci-]):hover::after,.feci-footer a:hover::after{transform:scaleX(1)}

/* icon nudge inside buttons */
.btn .material-symbols-rounded{transition:transform .25s}
.btn:hover .material-symbols-rounded{transform:translateX(3px)}

/* social icon pop */
.feci a img[src*="feci-social-"]{transition:transform .3s cubic-bezier(.34,1.56,.64,1),filter .3s}
.feci a:hover img[src*="feci-social-"]{transform:translateY(-5px) scale(1.2);filter:drop-shadow(0 8px 16px rgba(0,0,0,.4))}

/* animated hero gradient */
.feci-hero{background-size:200% 200% !important;animation:feci-grad 16s ease infinite}
@keyframes feci-grad{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}

/* kicker shimmer */
.kicker{background:linear-gradient(90deg,#E8B84B,#FFF3CC,#E8B84B);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:feci-shim 4.5s linear infinite}
@keyframes feci-shim{to{background-position:200% center}}

/* icon badges gentle pulse on hover of their card */
.feci-tilt:hover .material-symbols-rounded{transform:scale(1.12)}

}

/* touch / no-hover: disable custom cursor */
@media (hover:none),(pointer:coarse){ html.feci-alive,html.feci-alive *{cursor:auto !important} .feci-cur{display:none !important} }
/* welcome message: word-fill reveal at paragraph size */
.feci-scrolltext.feci-msg{font-family:'Montserrat',system-ui,sans-serif !important;font-weight:500;font-size:clamp(15.5px,1.5vw,17.5px);line-height:1.8;text-align:left;max-width:none;margin:0 0 20px}
@media (prefers-reduced-motion: reduce){ .feci-scrolltext,.feci-scrolltext .w{color:#F5EFFA !important} }

/* perf: GPU layers for marquee + orbs, smoother at high refresh */
.feci-orbs{will-change:transform;transform:translateZ(0)}
.feci-mq-track,.feci-svc-band .trk{will-change:transform;backface-visibility:hidden;transform:translateZ(0)}
@keyframes feci-mq{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

/* home welcome stacked lines */
.feci-welcome-lines{text-align:center;max-width:960px;margin:0 auto;line-height:1.16;font-weight:700;color:#F5EFFA}
.feci-welcome-lines .a{display:block;font-size:clamp(30px,5vw,60px)}
.feci-welcome-lines .b{display:block;font-size:clamp(18px,2.2vw,28px);color:#CB9CDA;font-weight:600;margin:2px 0}
.feci-welcome-lines .c{display:block;font-size:clamp(24px,3.6vw,46px)}
.feci-welcome-lines .d{display:block;font-size:clamp(16px,2vw,24px);margin-top:16px;color:#E9D2F0;font-weight:500}
.feci-welcome-lines .d em{color:#FCDA59;font-style:italic}

.feci-welcome-lines.reveal-armed{opacity:0;transform:translateY(28px)}
.feci-welcome-lines.reveal-armed.in{opacity:1;transform:none;transition:opacity .9s cubic-bezier(.22,.61,.36,1),transform .9s cubic-bezier(.22,.61,.36,1)}
.feci-welcome-lines.reveal-armed .b,.feci-welcome-lines.reveal-armed .c,.feci-welcome-lines.reveal-armed .d{opacity:0;transform:translateY(16px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}
.feci-welcome-lines.reveal-armed.in .b{transition-delay:.12s}
.feci-welcome-lines.reveal-armed.in .c{transition-delay:.24s}
.feci-welcome-lines.reveal-armed.in .d{transition-delay:.4s}
.feci-welcome-lines.reveal-armed.in .b,.feci-welcome-lines.reveal-armed.in .c,.feci-welcome-lines.reveal-armed.in .d{opacity:1;transform:none}
