/* A soft travelling current, with a short electrical light at the logo. */
.teleplan-impulse { position: fixed; inset: 0; z-index: 55; width: 100%; height: 100%; overflow: hidden; pointer-events: none; user-select: none; opacity: 0; }
.teleplan-impulse[hidden] { display: none; }
.teleplan-impulse.is-active { opacity: 1; }
.impulse-path { fill: none; stroke-linecap: round; stroke-linejoin: round; opacity: 0; }
.impulse-glow { stroke: #28bbef; stroke-width: 10; stroke-opacity: .12; stroke-dasharray: 80 920; }
.impulse-tail { stroke: #00a6ed; stroke-width: 3; stroke-opacity: .4; stroke-dasharray: 80 920; }
.impulse-mid { stroke: #29c5f5; stroke-width: 2.6; stroke-opacity: .8; stroke-dasharray: 40 960; }
.impulse-tip { stroke: #eaffff; stroke-width: 3; stroke-dasharray: 4 996; }
.impulse-sparks { opacity: 0; }
.impulse-spark { fill: none; stroke: #19bfff; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 3px #00aeef); opacity: 0; }
.is-active .impulse-spark { animation: current-spark 1.4s ease-in-out 3; }
.is-active .impulse-spark:nth-child(2) { animation-delay: .2s; }
.is-active .impulse-spark:nth-child(3) { animation-delay: .4s; stroke: #c7f6ff; }
.header .brand { position: relative; isolation: isolate; }
.brand-electric { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; overflow: visible; pointer-events: none; opacity: 0; }
.header .brand.logo-impulse .brand-electric { animation: logo-electric-on 1.15s ease-out both; }
.brand-current { position: absolute; z-index: 2; inset: -7px; width: calc(100% + 14px); height: calc(100% + 14px); overflow: visible; pointer-events: none; }
.logo-arc { fill: none; stroke: #00b7ff; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 100; stroke-dashoffset: 100; opacity: 0; filter: drop-shadow(0 0 2px #d5faff) drop-shadow(0 0 5px #00aeef); }
.logo-impulse .logo-arc { animation: logo-arc 1.25s ease-out both; }
.logo-impulse .logo-arc:nth-child(2) { animation-delay: .25s; stroke: #a5efff; }
.logo-impulse .logo-arc:nth-child(3) { animation-delay: .55s; }
@keyframes logo-arc { 0% { stroke-dashoffset: 100; opacity: 0; } 25% { opacity: 1; } 50% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: -100; opacity: 0; } }
@keyframes logo-electric-on { 0%, 100% { opacity: 0; } 20%, 42% { opacity: .95; } 68% { opacity: .55; } }
@keyframes current-spark { 0%, 100% { opacity: 0; } 45% { opacity: .6; } }
@media (max-width: 800px) {
  .impulse-glow { stroke-width: 7; }
  .impulse-tail { stroke-width: 1.8; }
  .impulse-mid { stroke-width: 2.2; }
  .impulse-tip { stroke-width: 3; }
  .impulse-spark { stroke-width: 1.1; }
}
@media (prefers-reduced-motion: reduce), (forced-colors: active) {
  .teleplan-impulse, .brand-electric, .brand-current { display: none !important; }
}
@media print { .teleplan-impulse, .brand-electric, .brand-current { display: none !important; } }
