/* ============================================================
   Service detail pages — layered on top of site.css
   Uses the existing token system: --ink-*, --signal, --font-*
   ============================================================ */

.svc-page main{display:block}

/* ---------- Hero ---------- */
.svc-hero{padding:170px 0 84px;position:relative}
.svc-hero .tag a{color:inherit;text-decoration:none;transition:color .25s}
.svc-hero .tag a:hover{color:var(--signal)}
.svc-hero h1{font-size:clamp(40px,5.6vw,72px);max-width:16ch;margin-top:22px;font-weight:480}
.svc-hero h1 em{font-style:normal;color:var(--signal-hi)}
.svc-hero .lede{margin-top:24px;max-width:56ch;font-size:clamp(16.5px,1.6vw,19px);color:var(--text-mid);font-weight:420}
.svc-hero .hero-rule{margin-top:44px;height:1px;width:100%;background:linear-gradient(90deg,var(--signal) 0%,rgba(229,161,61,.25) 34%,transparent 80%);box-shadow:0 0 14px var(--glow)}

/* Staged hero entrance (mirrors the home .rise language) */
.svc-hero .tag,.svc-hero h1,.svc-hero .lede,.svc-hero .hero-rule{opacity:0;transform:translateY(14px);animation:svcRise .8s cubic-bezier(.2,.7,.2,1) forwards}
.svc-hero h1{animation-delay:.08s}
.svc-hero .lede{animation-delay:.18s}
.svc-hero .hero-rule{animation-delay:.28s}
@keyframes svcRise{to{opacity:1;transform:none}}

/* ---------- Hero with system visualization (card-service pages) ---------- */
.svc-hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(28px,4.5vw,60px);align-items:center}
.svc-hero-grid h1{font-size:clamp(34px,4.4vw,58px)}
.viz-frame{position:relative;border:1px solid var(--line-strong);border-radius:var(--r-m);background:var(--ink-2);padding:clamp(14px,2.2vw,26px);overflow:hidden;opacity:0;transform:translateY(14px);animation:svcRise .8s cubic-bezier(.2,.7,.2,1) .3s forwards}
.viz-frame::before{content:"";position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(rgba(190,214,232,.05) 1px,transparent 1px) 0 0/100% 56px,
  linear-gradient(90deg,rgba(190,214,232,.05) 1px,transparent 1px) 0 0/56px 100%}
.viz-frame::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(70% 60% at 50% 38%,rgba(229,161,61,.07),transparent 70%)}
.viz-frame svg{display:block;width:100%;height:auto;position:relative;z-index:1}
.viz-cap{margin-top:12px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-low);text-align:center;position:relative;z-index:1}

/* ---------- SVG system-diagram atoms (shared across the nine services) ---------- */
.vz-base{stroke:rgba(198,220,238,.18);stroke-width:1.2;fill:none}
.vz-faint{stroke:rgba(198,220,238,.10);stroke-width:1;fill:none}
.vz-t{font-family:var(--font-mono);fill:#96A7B3;letter-spacing:.12em}
.vz-t.hi{fill:#F2BC6B}
.vz-t.lo{fill:#5E7286}
.vz-t.bright{fill:#EAF0F4}
.vz-node{fill:#0B1B2A;stroke:#E5A13D;stroke-width:1.4}
.vz-node.dim{stroke:rgba(198,220,238,.38)}
.vz-pill{fill:rgba(11,27,42,.94);stroke:rgba(242,188,107,.5);stroke-width:1}
.vz-pill.dim{stroke:rgba(198,220,238,.28)}
.vz-glow{filter:drop-shadow(0 0 6px rgba(242,188,107,.6))}
.vz-pulse{animation:vzPulse 3.6s ease-in-out infinite}
@keyframes vzPulse{0%,100%{opacity:.45}50%{opacity:1}}
.vz-dashrot{animation:vzDash 26s linear infinite}
.vz-dashrot.rev{animation-direction:reverse;animation-duration:34s}
@keyframes vzDash{to{stroke-dashoffset:-400}}
.vz-spin{transform-box:fill-box;transform-origin:center;animation:vzSpin 18s linear infinite}
@keyframes vzSpin{to{transform:rotate(360deg)}}

/* ---------- Technology Training Capability Progression ---------- */
.vz-capability-diagram {
  contain: layout style;
}

/* 1. Executive orbital rotation of concentric guide rings */
.vz-orbit-group {
  transform-box: fill-box;
  transform-origin: 230px 250px;
}
.vz-ring-1 { animation: vzOrbitClockwise 48s linear infinite; }
.vz-ring-2 { animation: vzOrbitCounter 64s linear infinite; }
.vz-ring-3 { animation: vzOrbitClockwise 82s linear infinite; }
.vz-ring-4 { animation: vzOrbitCounter 100s linear infinite; }
.vz-ring-5 { animation: vzOrbitClockwise 120s linear infinite; }

@keyframes vzOrbitClockwise {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes vzOrbitCounter {
  from { transform: rotate(360deg); }
  to { transform: rotate(0deg); }
}

/* 2. Particle flow along radial diagonal vectors */
.vz-particle-stream {
  fill: none;
  stroke-width: 1.5;
  stroke-dasharray: 4 28;
  animation: vzParticleFlow 8s linear infinite;
}
@keyframes vzParticleFlow {
  from { stroke-dashoffset: 0; }
  to { stroke-dashoffset: -64; }
}

/* 3. Central Vertical Pathway Line & Signal Beam */
.vz-vert-axis {
  stroke: rgba(198, 220, 238, 0.15);
  stroke-width: 1.2;
}
.vz-signal-beam {
  fill: none;
  stroke-width: 2.2;
  stroke-dasharray: 18 180;
  animation: vzSignalBeamTravel 12s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  filter: drop-shadow(0 0 6px rgba(242, 188, 107, 0.8));
}
@keyframes vzSignalBeamTravel {
  0% { stroke-dashoffset: 0; opacity: 0; }
  3% { opacity: 1; }
  85% { opacity: 1; }
  92% { opacity: 0; }
  100% { stroke-dashoffset: -396; opacity: 0; }
}

/* 4. Traveling Gold Signal Pulse Dot */
.vz-signal-dot {
  fill: #FFF5E0;
  stroke: #E5A13D;
  stroke-width: 2;
  filter: drop-shadow(0 0 8px rgba(242, 188, 107, 0.9));
  animation: vzSignalDotTravel 12s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@keyframes vzSignalDotTravel {
  0% { transform: translateY(0px) scale(0.5); opacity: 0; }
  3% { opacity: 1; transform: translateY(0px) scale(1.2); }
  22.5% { transform: translateY(-52px) scale(1); }
  38.3% { transform: translateY(-87px) scale(1); }
  53.3% { transform: translateY(-122px) scale(1); }
  68.3% { transform: translateY(-157px) scale(1); }
  83.3% { transform: translateY(-192px) scale(1.3); }
  92% { opacity: 0.8; transform: translateY(-203px) scale(0.8); }
  100% { opacity: 0; transform: translateY(-203px) scale(0.2); }
}

/* 5. Radial Expanding Capability Wave */
.vz-capability-wave {
  fill: none;
  stroke: rgba(242, 188, 107, 0.55);
  stroke-width: 1.8;
  filter: drop-shadow(0 0 10px rgba(242, 188, 107, 0.5));
  animation: vzWaveExpand 12s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@keyframes vzWaveExpand {
  0% { r: 0px; opacity: 0; stroke-width: 2.5px; }
  2% { opacity: 0.9; }
  85% { opacity: 0.7; stroke-width: 1.5px; }
  93% { opacity: 0.2; stroke-width: 1px; }
  100% { r: 195px; opacity: 0; }
}

/* 6. Central Origin Node: TEAM */
.vz-team-node {
  animation: vzTeamPulse 12s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
.vz-team-pulse-ring {
  fill: none;
  stroke: rgba(229, 161, 61, 0.4);
  stroke-width: 1;
  animation: vzTeamRingPulse 12s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@keyframes vzTeamPulse {
  0%, 100% {
    fill: #102336;
    stroke: #F2BC6B;
    stroke-width: 2;
    filter: drop-shadow(0 0 12px rgba(242, 188, 107, 0.85));
  }
  15%, 85% {
    fill: #0B1B2A;
    stroke: #E5A13D;
    stroke-width: 1.4;
    filter: drop-shadow(0 0 6px rgba(242, 188, 107, 0.6));
  }
}
@keyframes vzTeamRingPulse {
  0%, 100% { r: 34px; opacity: 0.8; stroke-width: 1.5px; }
  12%, 85% { r: 28px; opacity: 0; stroke-width: 1px; }
}

/* 7. Pulsing Intersecting Nodes on Rings */
.vz-pulse-node {
  fill: #0B1B2A;
  stroke: rgba(198, 220, 238, 0.4);
  stroke-width: 1.2;
  transition: all 0.4s ease;
}
.vz-r1-node { animation: vzPulseNodeR1 12s ease-in-out infinite; }
.vz-r2-node { animation: vzPulseNodeR2 12s ease-in-out infinite; }
.vz-r3-node { animation: vzPulseNodeR3 12s ease-in-out infinite; }
.vz-r4-node { animation: vzPulseNodeR4 12s ease-in-out infinite; }
.vz-r5-node { animation: vzPulseNodeR5 12s ease-in-out infinite; }

@keyframes vzPulseNodeR1 {
  0%, 18% { fill: #0B1B2A; stroke: rgba(198, 220, 238, 0.4); }
  22.5%, 32% { fill: #F2BC6B; stroke: #FFF0D0; filter: drop-shadow(0 0 6px rgba(242,188,107,0.9)); }
  35%, 100% { fill: #162A3C; stroke: rgba(242, 188, 107, 0.5); }
}
@keyframes vzPulseNodeR2 {
  0%, 34% { fill: #0B1B2A; stroke: rgba(198, 220, 238, 0.4); }
  38.3%, 48% { fill: #F2BC6B; stroke: #FFF0D0; filter: drop-shadow(0 0 6px rgba(242,188,107,0.9)); }
  51%, 100% { fill: #162A3C; stroke: rgba(242, 188, 107, 0.5); }
}
@keyframes vzPulseNodeR3 {
  0%, 49% { fill: #0B1B2A; stroke: rgba(198, 220, 238, 0.4); }
  53.3%, 63% { fill: #F2BC6B; stroke: #FFF0D0; filter: drop-shadow(0 0 6px rgba(242,188,107,0.9)); }
  66%, 100% { fill: #162A3C; stroke: rgba(242, 188, 107, 0.5); }
}
@keyframes vzPulseNodeR4 {
  0%, 64% { fill: #0B1B2A; stroke: rgba(198, 220, 238, 0.4); }
  68.3%, 78% { fill: #F2BC6B; stroke: #FFF0D0; filter: drop-shadow(0 0 6px rgba(242,188,107,0.9)); }
  81%, 100% { fill: #162A3C; stroke: rgba(242, 188, 107, 0.5); }
}
@keyframes vzPulseNodeR5 {
  0%, 79% { fill: #0B1B2A; stroke: rgba(198, 220, 238, 0.4); }
  83.3%, 93% { fill: #FFD89B; stroke: #FFFFFF; filter: drop-shadow(0 0 8px rgba(242,188,107,1)); }
  96%, 100% { fill: #162A3C; stroke: rgba(242, 188, 107, 0.6); }
}

/* 8. Stage Glow Rings */
.vz-stage-glow-ring {
  fill: none;
  stroke: rgba(198, 220, 238, 0.12);
  stroke-width: 1.2;
  transition: all 0.5s ease;
}
.vz-stage-1 .vz-stage-glow-ring { animation: vzStageRingGlow1 12s ease-in-out infinite; }
.vz-stage-2 .vz-stage-glow-ring { animation: vzStageRingGlow2 12s ease-in-out infinite; }
.vz-stage-3 .vz-stage-glow-ring { animation: vzStageRingGlow3 12s ease-in-out infinite; }
.vz-stage-4 .vz-stage-glow-ring { animation: vzStageRingGlow4 12s ease-in-out infinite; }
.vz-stage-5 .vz-stage-glow-ring { animation: vzStageRingGlow5 12s ease-in-out infinite; }

@keyframes vzStageRingGlow1 {
  0%, 18% { stroke: rgba(198, 220, 238, 0.12); stroke-width: 1.2; }
  22.5%, 32% { stroke: rgba(242, 188, 107, 0.75); stroke-width: 1.8; filter: drop-shadow(0 0 8px rgba(242,188,107,0.6)); }
  35%, 88% { stroke: rgba(242, 188, 107, 0.35); stroke-width: 1.4; }
  95%, 100% { stroke: rgba(198, 220, 238, 0.12); stroke-width: 1.2; }
}
@keyframes vzStageRingGlow2 {
  0%, 34% { stroke: rgba(198, 220, 238, 0.12); stroke-width: 1.2; }
  38.3%, 48% { stroke: rgba(242, 188, 107, 0.75); stroke-width: 1.8; filter: drop-shadow(0 0 8px rgba(242,188,107,0.6)); }
  51%, 88% { stroke: rgba(242, 188, 107, 0.35); stroke-width: 1.4; }
  95%, 100% { stroke: rgba(198, 220, 238, 0.12); stroke-width: 1.2; }
}
@keyframes vzStageRingGlow3 {
  0%, 49% { stroke: rgba(198, 220, 238, 0.12); stroke-width: 1.2; }
  53.3%, 63% { stroke: rgba(242, 188, 107, 0.75); stroke-width: 1.8; filter: drop-shadow(0 0 8px rgba(242,188,107,0.6)); }
  66%, 88% { stroke: rgba(242, 188, 107, 0.35); stroke-width: 1.4; }
  95%, 100% { stroke: rgba(198, 220, 238, 0.12); stroke-width: 1.2; }
}
@keyframes vzStageRingGlow4 {
  0%, 64% { stroke: rgba(198, 220, 238, 0.12); stroke-width: 1.2; }
  68.3%, 78% { stroke: rgba(242, 188, 107, 0.75); stroke-width: 1.8; filter: drop-shadow(0 0 8px rgba(242,188,107,0.6)); }
  81%, 88% { stroke: rgba(242, 188, 107, 0.35); stroke-width: 1.4; }
  95%, 100% { stroke: rgba(198, 220, 238, 0.12); stroke-width: 1.2; }
}
@keyframes vzStageRingGlow5 {
  0%, 79% { stroke: rgba(198, 220, 238, 0.18); stroke-width: 1.2; }
  83.3%, 93% { stroke: rgba(255, 216, 155, 0.9); stroke-width: 2.2; filter: drop-shadow(0 0 12px rgba(242,188,107,0.85)); }
  96%, 100% { stroke: rgba(242, 188, 107, 0.4); stroke-width: 1.4; }
}

/* 9. Stage Pills & Text Sequential Glow Activation */
.vz-stage-pill {
  transition: fill 0.4s ease, stroke 0.4s ease, filter 0.4s ease;
}
.vz-stage-text {
  transition: fill 0.4s ease, font-weight 0.4s ease;
}

.vz-stage-1 .vz-stage-pill { animation: vzPillGlow1 12s cubic-bezier(0.4, 0, 0.2, 1) infinite; }
.vz-stage-1 .vz-stage-text { animation: vzTextGlow1 12s cubic-bezier(0.4, 0, 0.2, 1) infinite; }

.vz-stage-2 .vz-stage-pill { animation: vzPillGlow2 12s cubic-bezier(0.4, 0, 0.2, 1) infinite; }
.vz-stage-2 .vz-stage-text { animation: vzTextGlow2 12s cubic-bezier(0.4, 0, 0.2, 1) infinite; }

.vz-stage-3 .vz-stage-pill { animation: vzPillGlow3 12s cubic-bezier(0.4, 0, 0.2, 1) infinite; }
.vz-stage-3 .vz-stage-text { animation: vzTextGlow3 12s cubic-bezier(0.4, 0, 0.2, 1) infinite; }

.vz-stage-4 .vz-stage-pill { animation: vzPillGlow4 12s cubic-bezier(0.4, 0, 0.2, 1) infinite; }
.vz-stage-4 .vz-stage-text { animation: vzTextGlow4 12s cubic-bezier(0.4, 0, 0.2, 1) infinite; }

.vz-stage-5 .vz-stage-pill { animation: vzPillGlow5 12s cubic-bezier(0.4, 0, 0.2, 1) infinite; }
.vz-stage-5 .vz-stage-text { animation: vzTextGlow5 12s cubic-bezier(0.4, 0, 0.2, 1) infinite; }

@keyframes vzPillGlow1 {
  0%, 18% { fill: rgba(11,27,42,.94); stroke: rgba(198,220,238,.28); stroke-width: 1px; filter: none; }
  22.5%, 32% { fill: rgba(229,161,61,.24); stroke: #F2BC6B; stroke-width: 1.6px; filter: drop-shadow(0 0 10px rgba(242,188,107,.8)); }
  35%, 88% { fill: rgba(14,32,50,.96); stroke: rgba(242,188,107,.55); stroke-width: 1.2px; filter: drop-shadow(0 0 4px rgba(242,188,107,.3)); }
  95%, 100% { fill: rgba(11,27,42,.94); stroke: rgba(198,220,238,.28); stroke-width: 1px; filter: none; }
}
@keyframes vzTextGlow1 {
  0%, 18% { fill: #96A7B3; font-weight: 400; }
  22.5%, 32% { fill: #FFF8EA; font-weight: 600; }
  35%, 88% { fill: #EAF0F4; font-weight: 500; }
  95%, 100% { fill: #96A7B3; font-weight: 400; }
}

@keyframes vzPillGlow2 {
  0%, 34% { fill: rgba(11,27,42,.94); stroke: rgba(198,220,238,.28); stroke-width: 1px; filter: none; }
  38.3%, 48% { fill: rgba(229,161,61,.24); stroke: #F2BC6B; stroke-width: 1.6px; filter: drop-shadow(0 0 10px rgba(242,188,107,.8)); }
  51%, 88% { fill: rgba(14,32,50,.96); stroke: rgba(242,188,107,.55); stroke-width: 1.2px; filter: drop-shadow(0 0 4px rgba(242,188,107,.3)); }
  95%, 100% { fill: rgba(11,27,42,.94); stroke: rgba(198,220,238,.28); stroke-width: 1px; filter: none; }
}
@keyframes vzTextGlow2 {
  0%, 34% { fill: #96A7B3; font-weight: 400; }
  38.3%, 48% { fill: #FFF8EA; font-weight: 600; }
  51%, 88% { fill: #EAF0F4; font-weight: 500; }
  95%, 100% { fill: #96A7B3; font-weight: 400; }
}

@keyframes vzPillGlow3 {
  0%, 49% { fill: rgba(11,27,42,.94); stroke: rgba(198,220,238,.28); stroke-width: 1px; filter: none; }
  53.3%, 63% { fill: rgba(229,161,61,.24); stroke: #F2BC6B; stroke-width: 1.6px; filter: drop-shadow(0 0 10px rgba(242,188,107,.8)); }
  66%, 88% { fill: rgba(14,32,50,.96); stroke: rgba(242,188,107,.55); stroke-width: 1.2px; filter: drop-shadow(0 0 4px rgba(242,188,107,.3)); }
  95%, 100% { fill: rgba(11,27,42,.94); stroke: rgba(198,220,238,.28); stroke-width: 1px; filter: none; }
}
@keyframes vzTextGlow3 {
  0%, 49% { fill: #96A7B3; font-weight: 400; }
  53.3%, 63% { fill: #FFF8EA; font-weight: 600; }
  66%, 88% { fill: #EAF0F4; font-weight: 500; }
  95%, 100% { fill: #96A7B3; font-weight: 400; }
}

@keyframes vzPillGlow4 {
  0%, 64% { fill: rgba(11,27,42,.94); stroke: rgba(198,220,238,.28); stroke-width: 1px; filter: none; }
  68.3%, 78% { fill: rgba(229,161,61,.24); stroke: #F2BC6B; stroke-width: 1.6px; filter: drop-shadow(0 0 10px rgba(242,188,107,.8)); }
  81%, 88% { fill: rgba(14,32,50,.96); stroke: rgba(242,188,107,.55); stroke-width: 1.2px; filter: drop-shadow(0 0 4px rgba(242,188,107,.3)); }
  95%, 100% { fill: rgba(11,27,42,.94); stroke: rgba(198,220,238,.28); stroke-width: 1px; filter: none; }
}
@keyframes vzTextGlow4 {
  0%, 64% { fill: #96A7B3; font-weight: 400; }
  68.3%, 78% { fill: #FFF8EA; font-weight: 600; }
  81%, 88% { fill: #EAF0F4; font-weight: 500; }
  95%, 100% { fill: #96A7B3; font-weight: 400; }
}

@keyframes vzPillGlow5 {
  0%, 79% { fill: rgba(11,27,42,.94); stroke: rgba(242,188,107,.5); stroke-width: 1px; filter: none; }
  83.3%, 93% { fill: rgba(229,161,61,.35); stroke: #FFD89B; stroke-width: 2px; filter: drop-shadow(0 0 14px rgba(242,188,107,.9)); }
  96%, 100% { fill: rgba(14,32,50,.96); stroke: #F2BC6B; stroke-width: 1.2px; filter: drop-shadow(0 0 5px rgba(242,188,107,.4)); }
}
@keyframes vzTextGlow5 {
  0%, 79% { fill: #F2BC6B; font-weight: 500; }
  83.3%, 93% { fill: #FFFFFF; font-weight: 600; text-shadow: 0 0 8px rgba(242,188,107,0.8); }
  96%, 100% { fill: #F2BC6B; font-weight: 500; }
}

@media (prefers-reduced-motion: reduce) {
  .vz-orbit-group,
  .vz-particle-stream,
  .vz-signal-beam,
  .vz-signal-dot,
  .vz-capability-wave,
  .vz-team-node,
  .vz-team-pulse-ring,
  .vz-pulse-node,
  .vz-stage-glow-ring,
  .vz-stage-pill,
  .vz-stage-text {
    animation: none !important;
  }
}

/* ---------- Section rhythm ---------- */
.svc-sec{padding:64px 0}
.svc-sec:last-of-type{padding-bottom:96px}

/* ---------- Executive value ---------- */
.val-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.val-grid.n4{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.val{position:relative;padding:26px 26px 24px;border:1px solid var(--line-strong);border-radius:var(--r-m);background:var(--ink-2);overflow:hidden}
.val::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--signal),rgba(229,161,61,.08));box-shadow:0 0 12px var(--glow)}
.val .k{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--signal);font-weight:500;display:block;margin-bottom:12px}
.val h3{font-size:19px;font-family:var(--font-body);font-weight:600;color:var(--text-hi);letter-spacing:0;line-height:1.35;margin-bottom:8px}
.val p{font-size:14.5px;color:var(--text-mid)}

/* ---------- What I take on ---------- */
.takeon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.takeon{display:flex;gap:16px;align-items:flex-start;padding:20px 22px;border:1px solid var(--line);border-radius:var(--r-s,10px);background:var(--glass-fill,rgba(13,26,40,.55));position:relative;overflow:hidden;transition:border-color .3s,transform .3s,box-shadow .3s}
@supports ((-webkit-backdrop-filter:blur(6px)) or (backdrop-filter:blur(6px))){.takeon{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}
.takeon:hover{border-color:rgba(242,188,107,.45);transform:translateY(-2px);box-shadow:0 12px 30px -18px rgba(0,0,0,.8),0 0 24px -10px var(--glow)}
.takeon .dia{flex:none;width:9px;height:9px;margin-top:7px;background:var(--signal);transform:rotate(45deg);box-shadow:0 0 10px var(--glow)}
.takeon h3{font-size:16.5px;font-family:var(--font-body);font-weight:600;color:var(--text-hi);letter-spacing:0;line-height:1.4}
.takeon p{font-size:14px;color:var(--text-mid);margin-top:4px}

/* ---------- How I work: progression ---------- */
.flow-frame{position:relative;padding:56px 34px 46px;border:1px solid var(--line-strong);border-radius:var(--r-m);background:var(--ink-2);overflow:hidden}
.flow-frame::before{content:"";position:absolute;inset:0;background:
  linear-gradient(rgba(190,214,232,.05) 1px,transparent 1px) 0 0/100% 64px,
  linear-gradient(90deg,rgba(190,214,232,.05) 1px,transparent 1px) 0 0/64px 100%;pointer-events:none}
.flow-track{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.flow-line{position:absolute;top:23px;left:6%;right:6%;height:1px;background:rgba(190,214,232,.14)}
.flow-line-fill{position:absolute;top:23px;left:6%;height:1px;width:0;background:linear-gradient(90deg,var(--signal),var(--signal-hi));box-shadow:0 0 12px var(--glow);transition:width 1.6s cubic-bezier(.3,.6,.2,1) .2s}
[data-reveal].in-view .flow-line-fill{width:88%}
/* Moving light along the process line - same language as the site's .flow paths */
.flow-pulse{position:absolute;top:22px;left:6%;width:88%;height:3px;pointer-events:none;opacity:0;overflow:visible}
[data-reveal].in-view .flow-pulse{opacity:1;transition:opacity .6s ease 1.8s}
.flow-pulse::before{content:"";position:absolute;top:0;left:0;width:64px;height:3px;border-radius:2px;
  background:linear-gradient(90deg,transparent,rgba(242,188,107,.95),transparent);
  filter:drop-shadow(0 0 6px rgba(242,188,107,.85));
  animation:svcPulse 5.6s linear infinite}
@keyframes svcPulse{from{left:0;transform:translateX(-100%)}to{left:100%;transform:translateX(0)}}
.flow-step{position:relative;text-align:center;opacity:0;transform:translateY(12px);transition:opacity .55s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
[data-reveal].in-view .flow-step{opacity:1;transform:none}
[data-reveal].in-view .flow-step:nth-child(3){transition-delay:.25s}
[data-reveal].in-view .flow-step:nth-child(4){transition-delay:.45s}
[data-reveal].in-view .flow-step:nth-child(5){transition-delay:.65s}
[data-reveal].in-view .flow-step:nth-child(6){transition-delay:.85s}
[data-reveal].in-view .flow-step:nth-child(7){transition-delay:1.05s}
.flow-dot{width:46px;height:46px;margin:0 auto;border-radius:50%;border:1px solid rgba(242,188,107,.55);background:radial-gradient(circle at 35% 30%,rgba(23,36,52,.98),rgba(9,16,26,.98));display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11.5px;color:var(--signal-hi);box-shadow:0 0 18px -6px var(--glow),inset 0 1px 0 rgba(255,255,255,.14)}
.flow-step h3{font-family:var(--font-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-hi);font-weight:500;margin-top:16px}
.flow-step p{font-size:13px;color:var(--text-low);margin-top:6px;padding:0 4px}

/* ---------- Outcomes ---------- */
.out-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.out-grid.n5{grid-template-columns:repeat(5,minmax(0,1fr))}
.out{padding:22px 20px;border:1px solid var(--line);border-radius:var(--r-s,10px);background:var(--ink-2);position:relative;overflow:hidden;transition:border-color .3s,transform .3s,box-shadow .3s}
.out::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(229,161,61,.55),transparent);opacity:0;transition:opacity .35s}
.out:hover{border-color:rgba(242,188,107,.4);transform:translateY(-3px);box-shadow:0 14px 34px -20px rgba(0,0,0,.85)}
.out:hover::after{opacity:1}
.out .idx{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;color:var(--signal);display:block;margin-bottom:12px}
.out h3{font-size:16px;font-family:var(--font-body);font-weight:600;color:var(--text-hi);letter-spacing:0;line-height:1.4}
.out p{font-size:13.5px;color:var(--text-mid);margin-top:6px}

/* ---------- CTA ---------- */
.svc-cta{position:relative;padding:64px clamp(28px,5vw,72px);border:1px solid var(--line-strong);border-radius:var(--r-l,22px);background:var(--ink-2);overflow:hidden;text-align:center}
.svc-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 90% at 50% 0%,rgba(229,161,61,.14),transparent 70%);pointer-events:none}
.svc-cta .tag{justify-content:center}
.svc-cta h2{font-size:clamp(30px,3.8vw,46px);margin-top:16px}
.svc-cta p.sub{margin:14px auto 0;max-width:46ch;color:var(--text-mid);font-size:15.5px}
.svc-cta .cta-row{margin-top:32px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ---------- Backlink row ---------- */
.svc-back{padding:34px 0 70px}
.svc-back .backlink{margin-bottom:0}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .val-grid.n4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1000px){
  .out-grid,.out-grid.n5{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .svc-hero{padding:150px 0 60px}
  .svc-hero-grid{grid-template-columns:1fr;gap:34px}
  .viz-frame{max-width:480px}
  .val-grid,.val-grid.n4{grid-template-columns:1fr}
  .takeon-grid{grid-template-columns:1fr}
  .flow-frame{padding:40px 18px 34px}
  .flow-track{grid-template-columns:1fr;gap:0}
  .flow-line,.flow-line-fill{left:22px;right:auto;top:8%;bottom:8%;width:1px;height:auto}
  .flow-line-fill{height:0;width:1px;transition:height 1.6s cubic-bezier(.3,.6,.2,1) .2s}
  [data-reveal].in-view .flow-line-fill{height:84%;width:1px}
  .flow-step{display:grid;grid-template-columns:46px 1fr;column-gap:18px;text-align:left;padding:14px 0}
  .flow-dot{margin:0}
  .flow-step h3{margin-top:4px;grid-column:2}
  .flow-step p{grid-column:2;padding:0}
  .flow-step h3{margin-top:0}
  .flow-dot{grid-row:1/span 2}
  .flow-pulse{left:21px;top:8%;bottom:auto;width:3px;height:84%}
  .flow-pulse::before{width:3px;height:64px;background:linear-gradient(180deg,transparent,rgba(242,188,107,.95),transparent);
    animation:svcPulseV 5.6s linear infinite}
}
@keyframes svcPulseV{from{top:0;left:0;transform:translateY(-100%)}to{top:100%;left:0;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){
  .flow-pulse{display:none}
  /* SMIL rotation does not honor reduced motion on its own */
  .vz-scan{display:none}
  /* site.css kills all animations globally; hero rise elements must not stay at opacity:0 */
  .svc-hero .tag,.svc-hero h1,.svc-hero .lede,.svc-hero .hero-rule,.viz-frame{opacity:1!important;transform:none!important}
}
@media (max-width:640px){
  .out-grid,.out-grid.n5{grid-template-columns:1fr}
}

/* ---------- Cybersecurity Layered Defense Animation ---------- */
.vz-cyber-diagram {
  contain: layout style;
}

/* Layer Connector Arcs (visually joining rings to pills) */
.vz-layer-connector {
  fill: none;
  stroke: rgba(198, 220, 238, 0.22);
  stroke-width: 1.2px;
  transition: stroke 0.4s ease, filter 0.4s ease;
}

/* Particle Orbit Streams along rings */
.vz-ring-particles {
  fill: none;
  stroke-width: 1.2px;
  stroke-dasharray: 3 32;
  animation: vzRingParticleOrbit 16s linear infinite;
}
.vz-ring-particles.rev {
  animation-direction: reverse;
  animation-duration: 22s;
}
@keyframes vzRingParticleOrbit {
  from { stroke-dashoffset: 0; }
  to { stroke-dashoffset: -140; }
}

/* Inward & Outward Signal Dots */
.vz-sec-signal-dot-in {
  fill: #FFF5E0;
  stroke: #E5A13D;
  stroke-width: 1.8;
  filter: drop-shadow(0 0 8px rgba(242, 188, 107, 0.9));
  animation: vzSecSignalDotIn 14s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@keyframes vzSecSignalDotIn {
  0% { transform: translateY(0px) scale(0.6); opacity: 0; }
  3% { opacity: 1; transform: translateY(0px) scale(1.1); }
  10% { transform: translateY(0px); }            /* IDENTITY y=50 */
  22% { transform: translateY(40px); }           /* NETWORK y=90 */
  34% { transform: translateY(80px); }           /* APPLICATION y=130 */
  46% { transform: translateY(120px); }          /* DATA y=170 */
  54% { transform: translateY(190px) scale(1.2); opacity: 1; } /* GOVERNANCE y=240 */
  58% { opacity: 0; transform: translateY(190px) scale(0.3); }
  100% { opacity: 0; transform: translateY(0px); }
}

.vz-sec-signal-dot-out {
  fill: #FFF0D0;
  stroke: rgba(242, 188, 107, 0.85);
  stroke-width: 1.5;
  filter: drop-shadow(0 0 6px rgba(242, 188, 107, 0.75));
  animation: vzSecSignalDotOut 14s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@keyframes vzSecSignalDotOut {
  0%, 53% { transform: translateY(190px) scale(0.2); opacity: 0; }
  56% { opacity: 0.9; transform: translateY(190px) scale(1); }
  65% { transform: translateY(120px); }          /* DATA y=170 */
  75% { transform: translateY(80px); }           /* APPLICATION y=130 */
  85% { transform: translateY(40px); }           /* NETWORK y=90 */
  94% { transform: translateY(0px) scale(0.8); opacity: 0.7; } /* IDENTITY y=50 */
  98%, 100% { opacity: 0; transform: translateY(0px) scale(0.2); }
}

/* Inward Shrinking Wave & Outward Expanding Wave */
.vz-sec-wave-in {
  fill: none;
  stroke: rgba(242, 188, 107, 0.5);
  stroke-width: 1.6;
  filter: drop-shadow(0 0 8px rgba(242, 188, 107, 0.5));
  animation: vzSecWaveIn 14s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@keyframes vzSecWaveIn {
  0% { r: 190px; opacity: 0; }
  3% { opacity: 0.8; stroke-width: 2px; }
  52% { opacity: 0.6; stroke-width: 1.4px; }
  55% { r: 42px; opacity: 0; stroke-width: 1px; }
  100% { r: 42px; opacity: 0; }
}

.vz-sec-wave-out {
  fill: none;
  stroke: rgba(242, 188, 107, 0.4);
  stroke-width: 1.4;
  filter: drop-shadow(0 0 6px rgba(242, 188, 107, 0.4));
  animation: vzSecWaveOut 14s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@keyframes vzSecWaveOut {
  0%, 53% { r: 42px; opacity: 0; }
  56% { opacity: 0.75; stroke-width: 1.8px; }
  92% { opacity: 0.3; stroke-width: 1px; }
  96%, 100% { r: 190px; opacity: 0; }
}

/* Central Core: GOVERNANCE Pulse */
.vz-sec-core {
  transition: all 0.4s ease;
  animation: vzSecCorePulse 14s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
.vz-sec-core-ring {
  fill: none;
  stroke: rgba(242, 188, 107, 0.4);
  stroke-width: 1;
  animation: vzSecCoreRingPulse 14s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@keyframes vzSecCorePulse {
  0%, 50% {
    fill: #0B1B2A;
    stroke: #E5A13D;
    stroke-width: 1.4;
    filter: drop-shadow(0 0 6px rgba(242, 188, 107, 0.6));
  }
  53%, 58% {
    fill: #102438;
    stroke: #FFD89B;
    stroke-width: 2.2;
    filter: drop-shadow(0 0 16px rgba(242, 188, 107, 0.95));
  }
  62%, 100% {
    fill: #0B1B2A;
    stroke: #E5A13D;
    stroke-width: 1.4;
    filter: drop-shadow(0 0 6px rgba(242, 188, 107, 0.6));
  }
}
@keyframes vzSecCoreRingPulse {
  0%, 52% { r: 42px; opacity: 0; stroke-width: 1px; }
  55%, 60% { r: 52px; opacity: 0.8; stroke-width: 1.6px; stroke: rgba(242, 188, 107, 0.7); }
  66%, 100% { r: 58px; opacity: 0; stroke-width: 1px; }
}

/* Concentric Layer Rings & Label Pills Activations */

/* 1. IDENTITY Layer (r=190) */
.vz-ring-identity { animation: vzSecRingIdentity 14s ease-in-out infinite; }
.vz-pill-identity { animation: vzSecPillIdentity 14s ease-in-out infinite; }
.vz-text-identity { animation: vzSecTextIdentity 14s ease-in-out infinite; }

@keyframes vzSecRingIdentity {
  0%, 3% { stroke: rgba(198, 220, 238, 0.18); stroke-width: 1.2px; }
  6%, 14% { stroke: rgba(242, 188, 107, 0.75); stroke-width: 1.8px; filter: drop-shadow(0 0 8px rgba(242, 188, 107, 0.6)); }
  17%, 88% { stroke: rgba(198, 220, 238, 0.35); stroke-width: 1.4px; }
  92%, 97% { stroke: rgba(242, 188, 107, 0.55); stroke-width: 1.5px; }
  100% { stroke: rgba(198, 220, 238, 0.18); stroke-width: 1.2px; }
}
@keyframes vzSecPillIdentity {
  0%, 3% { fill: rgba(11,27,42,.94); stroke: rgba(242,188,107,.5); stroke-width: 1px; filter: none; }
  6%, 14% { fill: rgba(229,161,61,.26); stroke: #F2BC6B; stroke-width: 1.8px; filter: drop-shadow(0 0 10px rgba(242,188,107,.8)); }
  17%, 88% { fill: rgba(14,32,50,.96); stroke: rgba(242,188,107,.65); stroke-width: 1.2px; filter: drop-shadow(0 0 4px rgba(242,188,107,.3)); }
  92%, 97% { fill: rgba(229,161,61,.18); stroke: #F2BC6B; stroke-width: 1.4px; }
  100% { fill: rgba(11,27,42,.94); stroke: rgba(242,188,107,.5); stroke-width: 1px; filter: none; }
}
@keyframes vzSecTextIdentity {
  0%, 3% { fill: #F2BC6B; font-weight: 400; }
  6%, 14% { fill: #FFF8EA; font-weight: 600; text-shadow: 0 0 6px rgba(242,188,107,0.7); }
  17%, 88% { fill: #EAF0F4; font-weight: 500; }
  92%, 97% { fill: #FFF0D0; font-weight: 500; }
  100% { fill: #F2BC6B; font-weight: 400; }
}

/* 2. NETWORK Layer (r=150) */
.vz-ring-network { animation: vzSecRingNetwork 14s ease-in-out infinite; }
.vz-pill-network { animation: vzSecPillNetwork 14s ease-in-out infinite; }
.vz-text-network { animation: vzSecTextNetwork 14s ease-in-out infinite; }

@keyframes vzSecRingNetwork {
  0%, 16% { stroke: rgba(198, 220, 238, 0.18); stroke-width: 1.2px; }
  19%, 27% { stroke: rgba(242, 188, 107, 0.75); stroke-width: 1.8px; filter: drop-shadow(0 0 8px rgba(242, 188, 107, 0.6)); }
  30%, 80% { stroke: rgba(198, 220, 238, 0.35); stroke-width: 1.4px; }
  83%, 88% { stroke: rgba(242, 188, 107, 0.55); stroke-width: 1.5px; }
  94%, 100% { stroke: rgba(198, 220, 238, 0.18); stroke-width: 1.2px; }
}
@keyframes vzSecPillNetwork {
  0%, 16% { fill: rgba(11,27,42,.94); stroke: rgba(198,220,238,.28); stroke-width: 1px; filter: none; }
  19%, 27% { fill: rgba(229,161,61,.26); stroke: #F2BC6B; stroke-width: 1.8px; filter: drop-shadow(0 0 10px rgba(242,188,107,.8)); }
  30%, 80% { fill: rgba(14,32,50,.96); stroke: rgba(242,188,107,.55); stroke-width: 1.2px; filter: drop-shadow(0 0 4px rgba(242,188,107,.3)); }
  83%, 88% { fill: rgba(229,161,61,.18); stroke: #F2BC6B; stroke-width: 1.4px; }
  94%, 100% { fill: rgba(11,27,42,.94); stroke: rgba(198,220,238,.28); stroke-width: 1px; filter: none; }
}
@keyframes vzSecTextNetwork {
  0%, 16% { fill: #96A7B3; font-weight: 400; }
  19%, 27% { fill: #FFF8EA; font-weight: 600; text-shadow: 0 0 6px rgba(242,188,107,0.7); }
  30%, 80% { fill: #EAF0F4; font-weight: 500; }
  83%, 88% { fill: #FFF0D0; font-weight: 500; }
  94%, 100% { fill: #96A7B3; font-weight: 400; }
}

/* 3. APPLICATION Layer (r=110) */
.vz-ring-application { animation: vzSecRingApp 14s ease-in-out infinite; }
.vz-pill-application { animation: vzSecPillApp 14s ease-in-out infinite; }
.vz-text-application { animation: vzSecTextApp 14s ease-in-out infinite; }

@keyframes vzSecRingApp {
  0%, 28% { stroke: rgba(198, 220, 238, 0.18); stroke-width: 1.2px; }
  31%, 39% { stroke: rgba(242, 188, 107, 0.75); stroke-width: 1.8px; filter: drop-shadow(0 0 8px rgba(242, 188, 107, 0.6)); }
  42%, 72% { stroke: rgba(198, 220, 238, 0.35); stroke-width: 1.4px; }
  75%, 80% { stroke: rgba(242, 188, 107, 0.55); stroke-width: 1.5px; }
  86%, 100% { stroke: rgba(198, 220, 238, 0.18); stroke-width: 1.2px; }
}
@keyframes vzSecPillApp {
  0%, 28% { fill: rgba(11,27,42,.94); stroke: rgba(198,220,238,.28); stroke-width: 1px; filter: none; }
  31%, 39% { fill: rgba(229,161,61,.26); stroke: #F2BC6B; stroke-width: 1.8px; filter: drop-shadow(0 0 10px rgba(242,188,107,.8)); }
  42%, 72% { fill: rgba(14,32,50,.96); stroke: rgba(242,188,107,.55); stroke-width: 1.2px; filter: drop-shadow(0 0 4px rgba(242,188,107,.3)); }
  75%, 80% { fill: rgba(229,161,61,.18); stroke: #F2BC6B; stroke-width: 1.4px; }
  86%, 100% { fill: rgba(11,27,42,.94); stroke: rgba(198,220,238,.28); stroke-width: 1px; filter: none; }
}
@keyframes vzSecTextApp {
  0%, 28% { fill: #96A7B3; font-weight: 400; }
  31%, 39% { fill: #FFF8EA; font-weight: 600; text-shadow: 0 0 6px rgba(242,188,107,0.7); }
  42%, 72% { fill: #EAF0F4; font-weight: 500; }
  75%, 80% { fill: #FFF0D0; font-weight: 500; }
  86%, 100% { fill: #96A7B3; font-weight: 400; }
}

/* 4. DATA Layer (r=70) */
.vz-ring-data { animation: vzSecRingData 14s ease-in-out infinite; }
.vz-pill-data { animation: vzSecPillData 14s ease-in-out infinite; }
.vz-text-data { animation: vzSecTextData 14s ease-in-out infinite; }

@keyframes vzSecRingData {
  0%, 40% { stroke: rgba(198, 220, 238, 0.18); stroke-width: 1.2px; }
  43%, 51% { stroke: rgba(242, 188, 107, 0.75); stroke-width: 1.8px; filter: drop-shadow(0 0 8px rgba(242, 188, 107, 0.6)); }
  54%, 64% { stroke: rgba(198, 220, 238, 0.35); stroke-width: 1.4px; }
  67%, 72% { stroke: rgba(242, 188, 107, 0.55); stroke-width: 1.5px; }
  78%, 100% { stroke: rgba(198, 220, 238, 0.18); stroke-width: 1.2px; }
}
@keyframes vzSecPillData {
  0%, 40% { fill: rgba(11,27,42,.94); stroke: rgba(198,220,238,.28); stroke-width: 1px; filter: none; }
  43%, 51% { fill: rgba(229,161,61,.26); stroke: #F2BC6B; stroke-width: 1.8px; filter: drop-shadow(0 0 10px rgba(242,188,107,.8)); }
  54%, 64% { fill: rgba(14,32,50,.96); stroke: rgba(242,188,107,.55); stroke-width: 1.2px; filter: drop-shadow(0 0 4px rgba(242,188,107,.3)); }
  67%, 72% { fill: rgba(229,161,61,.18); stroke: #F2BC6B; stroke-width: 1.4px; }
  78%, 100% { fill: rgba(11,27,42,.94); stroke: rgba(198,220,238,.28); stroke-width: 1px; filter: none; }
}
@keyframes vzSecTextData {
  0%, 40% { fill: #96A7B3; font-weight: 400; }
  43%, 51% { fill: #FFF8EA; font-weight: 600; text-shadow: 0 0 6px rgba(242,188,107,0.7); }
  54%, 64% { fill: #EAF0F4; font-weight: 500; }
  67%, 72% { fill: #FFF0D0; font-weight: 500; }
  78%, 100% { fill: #96A7B3; font-weight: 400; }
}

/* Node Activity on Rings */
.vz-sec-node {
  transition: all 0.4s ease;
}
.vz-sec-node-identity { animation: vzSecNodeIdentity 14s ease-in-out infinite; }
.vz-sec-node-network, .vz-sec-node-network2 { animation: vzSecNodeNetwork 14s ease-in-out infinite; }
.vz-sec-node-app { animation: vzSecNodeApp 14s ease-in-out infinite; }

@keyframes vzSecNodeIdentity {
  0%, 3% { fill: #0B1B2A; stroke: #E5A13D; }
  6%, 14% { fill: #F2BC6B; stroke: #FFF0D0; filter: drop-shadow(0 0 8px rgba(242,188,107,0.9)); }
  17%, 100% { fill: #0B1B2A; stroke: #E5A13D; }
}
@keyframes vzSecNodeNetwork {
  0%, 16% { fill: #0B1B2A; stroke: #E5A13D; }
  19%, 27% { fill: #F2BC6B; stroke: #FFF0D0; filter: drop-shadow(0 0 8px rgba(242,188,107,0.9)); }
  30%, 100% { fill: #0B1B2A; stroke: #E5A13D; }
}
@keyframes vzSecNodeApp {
  0%, 28% { fill: #0B1B2A; stroke: #E5A13D; }
  31%, 39% { fill: #F2BC6B; stroke: #FFF0D0; filter: drop-shadow(0 0 8px rgba(242,188,107,0.9)); }
  42%, 100% { fill: #0B1B2A; stroke: #E5A13D; }
}

@media (prefers-reduced-motion: reduce) {
  .vz-ring-particles,
  .vz-sec-signal-dot-in,
  .vz-sec-signal-dot-out,
  .vz-sec-wave-in,
  .vz-sec-wave-out,
  .vz-sec-core,
  .vz-sec-core-ring,
  .vz-ring-identity,
  .vz-pill-identity,
  .vz-text-identity,
  .vz-ring-network,
  .vz-pill-network,
  .vz-text-network,
  .vz-ring-application,
  .vz-pill-application,
  .vz-text-application,
  .vz-ring-data,
  .vz-pill-data,
  .vz-text-data,
  .vz-sec-node-identity,
  .vz-sec-node-network,
  .vz-sec-node-network2,
  .vz-sec-node-app {
    animation: none !important;
  }
}
