/* ===== Synergy FX — animaciones (autocontenido, sin dependencias) ===== */
.fx-reveal{opacity:0;transform:translateY(30px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1)}
.fx-reveal.fx-in{opacity:1;transform:none}
.fx-reveal.fx-d1{transition-delay:.08s}.fx-reveal.fx-d2{transition-delay:.16s}.fx-reveal.fx-d3{transition-delay:.24s}
.page-title-area,.main-banner,.banner-area,.hero-area{position:relative;overflow:hidden}
.fx-hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.85}
.page-title-area .container,.main-banner .container,.banner-area .container,.hero-area .container{position:relative;z-index:2}
.fx-tagline{margin-top:10px;font-size:18px;font-weight:600;letter-spacing:.4px;color:#fff;min-height:26px}
.fx-tagline .fx-grad{background:linear-gradient(90deg,#fd7e14,#ffb16b,#fd7e14);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:fxgrad 5s linear infinite}
.fx-cursor{display:inline-block;width:3px;height:1em;background:#fd7e14;margin-left:3px;vertical-align:-2px;animation:fxblink 1s steps(1) infinite}
@keyframes fxblink{50%{opacity:0}}
@keyframes fxgrad{to{background-position:200% 0}}
.fx-grad-bar{height:4px;border:0;margin:0;background:linear-gradient(90deg,#fd7e14,#1b2a4a,#fd7e14);background-size:200% 100%;animation:fxslide 6s linear infinite}
@keyframes fxslide{to{background-position:200% 0}}
.single-services,.single-work-process{transition:transform .25s ease,box-shadow .25s ease;transform-style:preserve-3d;will-change:transform}
.single-services:hover,.single-work-process:hover{box-shadow:0 22px 48px rgba(13,30,68,.20)}
.single-services .services-image .icon{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease}
.single-services:hover .services-image .icon{transform:translateY(-6px) scale(1.08);box-shadow:0 10px 24px rgba(253,126,20,.45)}
.fx-stats{display:flex;flex-wrap:wrap;gap:18px;margin:26px 0}
.fx-stat{flex:1;min-width:140px;background:#0f1e44;border-radius:12px;padding:18px 20px;color:#fff;position:relative;overflow:hidden}
.fx-stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#fd7e14}
.fx-stat .n{font-size:32px;font-weight:700;line-height:1}
.fx-stat .l{font-size:13px;opacity:.85;margin-top:4px;text-transform:uppercase;letter-spacing:.5px}
.fx-pills{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.fx-pill{font-size:13px;font-weight:600;color:#1b2a4a;background:#eef2f9;border:1px solid #dde6f3;border-radius:999px;padding:7px 14px;transition:transform .2s ease,background .2s ease,color .2s ease}
.fx-pill:hover{transform:translateY(-3px);background:#fd7e14;color:#fff;border-color:#fd7e14}
@media (prefers-reduced-motion:reduce){.fx-reveal{opacity:1;transform:none;transition:none}.fx-hero-canvas{display:none}.fx-tagline .fx-grad,.fx-grad-bar{animation:none}}

/* Fichas de caso (category pages) */
.fx-case{border:1px solid #e7ebf2;border-left:4px solid #fd7e14;border-radius:0 10px 10px 0;padding:16px 18px;margin:14px 0;background:#fff;transition:box-shadow .25s ease,transform .25s ease}
.fx-case:hover{box-shadow:0 14px 32px rgba(13,30,68,.10);transform:translateY(-2px)}
.fx-case .ind{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#fff;background:#15233f;border-radius:6px;padding:3px 9px;margin-bottom:8px}
.fx-case h5{margin:0 0 6px;font-size:16px;color:#1b2a4a;font-weight:700}
.fx-case p{margin:0 0 6px;font-size:14px;color:#5a6577;line-height:1.6}
.fx-case .res{font-weight:700;color:#0f6e56}
