/* ================================================================
   EPICORE HOME TEXT EFFECTS R5
   Homepage-specific correction for Premium Text Effects R4.
   ================================================================ */

.epicore-home-hero-r5{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
}

.epicore-home-hero-r5 > *:not(.epicore-home-ghost-r5):not(.epv3-map):not(.epv3-atmosphere){
  position:relative;
  z-index:2;
}

/* Explicit hero text rail -------------------------------------- */

.epicore-home-rail-r5{
  position:relative !important;
  padding-left:24px !important;
}

.epicore-home-rail-r5::before{
  content:"";
  position:absolute;
  left:0;
  top:.12em;
  bottom:.08em;
  width:1px;
  background:
    linear-gradient(
      180deg,
      rgba(28,190,236,.08),
      rgba(28,190,236,.72) 28%,
      rgba(28,190,236,.38) 72%,
      rgba(28,190,236,.06)
    );
  box-shadow:0 0 8px rgba(28,190,236,.10);
  pointer-events:none;
}

.epicore-home-rail-r5::after{
  content:"";
  position:absolute;
  left:-1.5px;
  top:.12em;
  width:4px;
  height:24px;
  border-radius:999px;
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,0),
      rgba(220,250,255,.98) 46%,
      rgba(28,190,236,.90) 70%,
      rgba(28,190,236,0)
    );
  box-shadow:
    0 0 4px rgba(255,255,255,.50),
    0 0 10px rgba(28,190,236,.62),
    0 0 19px rgba(28,190,236,.22);
  animation:epicoreHomeRailR5 6.8s cubic-bezier(.42,.05,.55,.95) infinite;
  pointer-events:none;
}

@keyframes epicoreHomeRailR5{
  0%{top:.12em;opacity:0;transform:scaleY(.60)}
  9%{opacity:.95}
  48%{opacity:.74}
  82%{opacity:.90}
  94%{opacity:0}
  100%{top:calc(100% - 24px);opacity:0;transform:scaleY(.78)}
}

/* Homepage ghost words ----------------------------------------- */

.epicore-home-ghost-r5{
  position:absolute;
  z-index:1;
  pointer-events:none;
  user-select:none;
  white-space:nowrap;
  text-transform:uppercase;
  font-family:"Segoe UI",Arial,sans-serif;
  font-weight:800;
  letter-spacing:.08em;
  line-height:.85;
  color:#54caef;
  filter:blur(.15px);
  will-change:transform,opacity;
}

.epicore-home-ghost-control-r5{
  left:6.5%;
  top:12.5%;
  bottom:auto;
  font-size:clamp(75px,9.75vw,161px);
  opacity:.035;
  animation:
    epicoreHomeGhostFloatR5 19s ease-in-out infinite alternate,
    epicoreHomeGhostFadeR5 14s ease-in-out infinite;
}

.epicore-home-ghost-connected-r5{
  right:-2%;
  top:16%;
  font-size:clamp(86px,11vw,175px);
  opacity:.028;
  color:#279dcc;
  animation:
    epicoreHomeGhostFloatReverseR5 22s ease-in-out infinite alternate,
    epicoreHomeGhostFade2R5 17s ease-in-out infinite;
}

@keyframes epicoreHomeGhostFloatR5{
  from{transform:translate3d(-8px,6px,0) scale(.985)}
  to{transform:translate3d(16px,-7px,0) scale(1.006)}
}

@keyframes epicoreHomeGhostFloatReverseR5{
  from{transform:translate3d(12px,-5px,0) scale(.99)}
  to{transform:translate3d(-14px,8px,0) scale(1.005)}
}

@keyframes epicoreHomeGhostFadeR5{
  0%,100%{opacity:.018}
  30%{opacity:.042}
  56%{opacity:.065}
  78%{opacity:.032}
}

@keyframes epicoreHomeGhostFade2R5{
  0%,100%{opacity:.014}
  35%{opacity:.034}
  60%{opacity:.052}
  82%{opacity:.024}
}

/* Second major section ----------------------------------------- */

.epicore-home-second-r5{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
}

.epicore-home-second-r5 > *:not(.epicore-home-ghost-r5){
  position:relative;
  z-index:2;
}

/* Motion off ---------------------------------------------------- */

html.epicore-home-text-motion-off-r5 .epicore-home-rail-r5::after{
  display:none !important;
}

html.epicore-home-text-motion-off-r5 .epicore-home-ghost-r5{
  animation:none !important;
  opacity:.035 !important;
}

@media(prefers-reduced-motion:reduce){
  .epicore-home-rail-r5::after{
    display:none !important;
  }
  .epicore-home-ghost-r5{
    animation:none !important;
    opacity:.035 !important;
  }
}

@media(max-width:800px){
  .epicore-home-ghost-control-r5{
  left:6.5%;
  top:12.5%;
  bottom:auto;
  font-size:clamp(75px,9.75vw,161px);
  opacity:.035;
  animation:
    epicoreHomeGhostFloatR5 19s ease-in-out infinite alternate,
    epicoreHomeGhostFadeR5 14s ease-in-out infinite;
}

  .epicore-home-ghost-connected-r5{
    font-size:90px;
    right:-12%;
  }

  .epicore-home-rail-r5{
    padding-left:18px !important;
  }
}
/* EPICORE_CONTROL_MOVE_UP_R7_BEGIN */
/* Final high-specificity override: position only. */
.epicore-home-hero-r5 > .epicore-home-ghost-control-r5,
.epv3-home .epicore-home-ghost-control-r5,
.epicore-home-ghost-control-r5{
  top:5.5% !important;
  bottom:auto !important;
}
/* EPICORE_CONTROL_MOVE_UP_R7_END */