.fx-lab-page {
  background:#f5f8fb;
  max-width:100vw;
  overflow-x:hidden;
}

.fx-lab-page .container {
  width:calc(100vw - 26px);
  max-width:1320px;
}

.fx-lab-hero {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  min-height:420px;
  padding:86px 0;
  background:linear-gradient(135deg,#0b6fac 0%,#063454 58%,#fb8c00 155%);
}

.fx-lab-hero.fx-bg-brand-blue {
  background:linear-gradient(135deg,#0b6fac 0%,#063454 58%,#fb8c00 155%);
}

.fx-lab-hero.fx-bg-pink-signal {
  background:linear-gradient(90deg,rgba(86,9,45,.46) 0%,rgba(86,9,45,.22) 43%,rgba(86,9,45,0) 100%),radial-gradient(circle at 78% 34%,rgba(255,188,216,.34),transparent 32%),linear-gradient(135deg,#e84d8a 0%,#dc3479 58%,#a01856 118%);
}

.fx-lab-hero.fx-bg-solid-navy {
  background:linear-gradient(135deg,#063454 0%,#073b5a 55%,#05263d 100%);
}

.fx-lab-hero.fx-bg-solid-teal {
  background:linear-gradient(135deg,#075e69 0%,#087f8c 58%,#06424d 100%);
}

.fx-lab-hero.fx-bg-solid-orange {
  background:linear-gradient(135deg,#9a4d00 0%,#d66f00 56%,#fb8c00 118%);
}

.fx-lab-hero.fx-bg-solid-green {
  background:linear-gradient(135deg,#075a43 0%,#0c8f65 58%,#064934 100%);
}

.fx-lab-hero.fx-bg-solid-plum {
  background:linear-gradient(135deg,#401f5d 0%,#6d2f82 58%,#2f184b 100%);
}

.fx-lab-hero.fx-bg-solid-yellow {
  background:linear-gradient(90deg,rgba(77,47,0,.52) 0%,rgba(77,47,0,.24) 42%,rgba(77,47,0,0) 100%),linear-gradient(135deg,#f2c94c 0%,#e5b72d 58%,#a87505 118%);
}

.fx-lab-hero.fx-bg-solid-bright-green {
  background:linear-gradient(135deg,#0d6b3f 0%,#18a85d 58%,#0a4f32 100%);
}

.fx-lab-hero.fx-bg-solid-purple {
  background:linear-gradient(135deg,#43216f 0%,#7c3aed 58%,#2c174d 100%);
}

.fx-lab-hero.fx-bg-solid-gold {
  background:linear-gradient(90deg,rgba(64,43,5,.5) 0%,rgba(64,43,5,.2) 42%,rgba(64,43,5,0) 100%),linear-gradient(135deg,#d4af37 0%,#b8860b 58%,#f6d365 128%);
}

.fx-lab-hero.fx-bg-midnight-grid {
  background:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(135deg,#031827 0%,#0a3f62 52%,#111827 100%);
  background-size:44px 44px,44px 44px,auto;
}

.fx-lab-hero.fx-bg-orange-signal {
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 2px,transparent 2px 22px),linear-gradient(135deg,#0c314d 0%,#0b6fac 48%,#fb8c00 116%);
}

.fx-lab-hero.fx-bg-terminal-green {
  background:linear-gradient(rgba(169,255,188,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(169,255,188,.05) 1px,transparent 1px),linear-gradient(135deg,#03130d 0%,#064830 54%,#0b6fac 132%);
  background-size:34px 34px,34px 34px,auto;
}

.fx-lab-hero.fx-bg-win95-teal {
  background:linear-gradient(90deg,rgba(255,255,255,.09) 0 2px,transparent 2px 100%),linear-gradient(0deg,rgba(255,255,255,.07) 0 2px,transparent 2px 100%),linear-gradient(135deg,#008080 0%,#0b6fac 62%,#c0c0c0 142%);
  background-size:96px 96px,96px 96px,auto;
}

.fx-lab-hero.fx-bg-afterdark-black {
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 5px),linear-gradient(135deg,#020617 0%,#08111f 50%,#0f2d46 100%);
}

.fx-lab-hero.fx-bg-cloud-steel {
  background:linear-gradient(135deg,rgba(255,255,255,.07) 0 1px,transparent 1px 18px),linear-gradient(135deg,#334155 0%,#0f5d88 54%,#172033 100%);
}

.fx-lab-hero.fx-bg-red-team {
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 28px),linear-gradient(135deg,#2a0910 0%,#8b1e2d 52%,#fb8c00 130%);
}

.fx-lab-hero.fx-bg-mint-circuit {
  background:linear-gradient(rgba(178,255,224,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(178,255,224,.07) 1px,transparent 1px),linear-gradient(135deg,#052c2d 0%,#0b6fac 62%,#19b985 132%);
  background-size:52px 52px,52px 52px,auto;
}

.fx-lab-hero.fx-bg-deep-sea {
  background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 32%),linear-gradient(135deg,#043252 0%,#0b6fac 46%,#021827 100%);
}

.fx-lab-hero.fx-bg-violet-alert {
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 1px,transparent 1px 18px),linear-gradient(135deg,#15112e 0%,#0b5d89 55%,#fb8c00 132%);
}

.fx-lab-hero.fx-bg-high-contrast {
  background:linear-gradient(90deg,rgba(255,255,255,.12) 0 1px,transparent 1px 100%),linear-gradient(135deg,#000 0%,#073b5a 52%,#f7c543 138%);
  background-size:72px 72px,auto;
}

.fx-lab-hero.fx-bg-ice-blue {
  background:radial-gradient(circle at 76% 34%,rgba(216,246,255,.22),transparent 32%),linear-gradient(180deg,rgba(255,255,255,.08),transparent 35%),linear-gradient(135deg,#062a43 0%,#0b6fac 58%,#d8f6ff 142%);
}

.fx-lab-hero.fx-bg-gold-wire {
  background:repeating-linear-gradient(90deg,rgba(247,197,67,.08) 0 1px,transparent 1px 38px),repeating-linear-gradient(0deg,rgba(255,255,255,.045) 0 1px,transparent 1px 38px),linear-gradient(135deg,#061b2b 0%,#0c4868 58%,#f7c543 135%);
}

.fx-lab-hero.fx-bg-aqua-radar {
  background:radial-gradient(circle at 82% 44%,rgba(42,199,143,.22),transparent 28%),repeating-radial-gradient(circle at 82% 44%,rgba(255,255,255,.05) 0 1px,transparent 2px 62px),linear-gradient(135deg,#04262d 0%,#0b5f80 54%,#2ac78f 135%);
}

.fx-lab-hero.fx-bg-coral-breach {
  background:repeating-linear-gradient(120deg,rgba(255,111,97,.08) 0 2px,transparent 2px 24px),linear-gradient(135deg,#25141d 0%,#0b405f 55%,#ff6f61 132%);
}

.fx-lab-hero.fx-bg-lime-slate {
  background:linear-gradient(rgba(164,214,94,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(135deg,#111827 0%,#234155 57%,#a4d65e 138%);
  background-size:48px 48px,48px 48px,auto;
}

.fx-lab-hero.fx-bg-indigo-shield {
  background:radial-gradient(circle at 82% 42%,rgba(124,156,255,.22),transparent 32%),repeating-linear-gradient(145deg,rgba(255,255,255,.045) 0 1px,transparent 1px 20px),linear-gradient(135deg,#151c3b 0%,#0b5d89 56%,#7c9cff 136%);
}

.fx-lab-hero.fx-bg-silver-scan {
  background:linear-gradient(90deg,rgba(255,255,255,.12) 0 1px,transparent 1px 100%),linear-gradient(180deg,rgba(255,255,255,.08),transparent 36%),linear-gradient(135deg,#1f2937 0%,#486274 55%,#cbd5e1 140%);
  background-size:78px 78px,auto,auto;
}

.fx-lab-hero.fx-bg-electric-cyan {
  background:repeating-linear-gradient(90deg,rgba(0,212,255,.08) 0 1px,transparent 1px 28px),radial-gradient(circle at 85% 40%,rgba(0,212,255,.24),transparent 28%),linear-gradient(135deg,#021827 0%,#005f73 55%,#00d4ff 135%);
}

.fx-lab-hero.fx-bg-graphite-amber {
  background:repeating-linear-gradient(135deg,rgba(245,158,11,.075) 0 1px,transparent 1px 22px),linear-gradient(135deg,#101820 0%,#063454 58%,#f59e0b 138%);
}

.fx-lab-hero > .container {
  position:relative;
  z-index:3;
}

.fx-lab-kicker {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  margin-bottom:1rem;
  padding:.45rem .8rem;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.fx-lab-hero h1 {
  max-width:760px;
  margin:0;
  color:#fff;
  font-size:clamp(2.3rem,5vw,4.5rem);
  font-weight:900;
  line-height:1.02;
}

.fx-lab-hero p {
  max-width:660px;
  margin:1.25rem 0 0;
  color:rgba(255,255,255,.84);
  font-size:1.08rem;
  line-height:1.75;
}

.fx-lab-hero-actions {
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1.6rem;
}

.fx-lab-hero-actions .btn {
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}

.fx-lab-current-row {
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:1.4rem;
}

.fx-lab-current {
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:.45rem .8rem;
  border-radius:8px;
  background:rgba(3,22,37,.34);
  color:#dff6ff;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  font-size:.92rem;
}

.fx-lab-controls-section {
  padding:34px 0 72px;
}

.fx-lab-control-shell {
  padding:22px;
  border:1px solid rgba(10,81,127,.12);
  border-radius:8px;
  background:#fff;
  box-shadow:0 18px 45px rgba(5,38,61,.08);
}

.fx-lab-control-shell + .fx-lab-control-shell {
  margin-top:16px;
}

.fx-lab-control-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:18px;
}

.fx-lab-control-head h2 {
  margin:0;
  color:#103c5e;
  font-size:1.2rem;
  font-weight:800;
}

.fx-lab-step-controls {
  display:flex;
  gap:.5rem;
}

.fx-lab-step-controls button,
.fx-lab-option {
  border:1px solid rgba(17,119,187,.24);
  border-radius:8px;
  background:#fff;
  color:#16435f;
  font-weight:800;
}

.fx-lab-step-controls button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  min-height:40px;
  padding:.45rem .7rem;
}

.fx-lab-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:.65rem;
}

.fx-lab-grid--backgrounds {
  grid-template-columns:repeat(auto-fit,minmax(185px,1fr));
}

.fx-lab-option {
  min-height:42px;
  padding:.55rem .65rem;
  text-align:left;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}

.fx-lab-option:hover,
.fx-lab-option:focus-visible,
.fx-lab-step-controls button:hover,
.fx-lab-step-controls button:focus-visible {
  border-color:#1177bb;
  color:#0b6fac;
  transform:translateY(-1px);
}

.fx-lab-option.is-active {
  border-color:#fb8c00;
  background:#fff4e5;
  color:#854700;
}

.fx-lab-option--swatch {
  display:flex;
  align-items:center;
  gap:.55rem;
}

.fx-lab-swatch {
  display:inline-block;
  flex:0 0 20px;
  width:20px;
  height:20px;
  border:1px solid rgba(5,38,61,.14);
  border-radius:6px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);
}

.fx-lab-option[data-bg="fx-bg-brand-blue"] .fx-lab-swatch {
  background:linear-gradient(135deg,#0b6fac,#063454 58%,#fb8c00);
}

.fx-lab-option[data-bg="fx-bg-pink-signal"] .fx-lab-swatch {
  background:linear-gradient(135deg,#e84d8a,#dc3479,#a01856);
}

.fx-lab-option[data-bg="fx-bg-solid-navy"] .fx-lab-swatch {
  background:#063454;
}

.fx-lab-option[data-bg="fx-bg-solid-teal"] .fx-lab-swatch {
  background:#087f8c;
}

.fx-lab-option[data-bg="fx-bg-solid-orange"] .fx-lab-swatch {
  background:#fb8c00;
}

.fx-lab-option[data-bg="fx-bg-solid-green"] .fx-lab-swatch {
  background:#0c8f65;
}

.fx-lab-option[data-bg="fx-bg-solid-plum"] .fx-lab-swatch {
  background:#6d2f82;
}

.fx-lab-option[data-bg="fx-bg-solid-yellow"] .fx-lab-swatch {
  background:#f2c94c;
}

.fx-lab-option[data-bg="fx-bg-solid-bright-green"] .fx-lab-swatch {
  background:#18a85d;
}

.fx-lab-option[data-bg="fx-bg-solid-purple"] .fx-lab-swatch {
  background:#7c3aed;
}

.fx-lab-option[data-bg="fx-bg-solid-gold"] .fx-lab-swatch {
  background:#d4af37;
}

.fx-lab-option[data-bg="fx-bg-midnight-grid"] .fx-lab-swatch {
  background:linear-gradient(135deg,#031827,#0a3f62,#111827);
}

.fx-lab-option[data-bg="fx-bg-orange-signal"] .fx-lab-swatch {
  background:linear-gradient(135deg,#0c314d,#0b6fac,#fb8c00);
}

.fx-lab-option[data-bg="fx-bg-terminal-green"] .fx-lab-swatch {
  background:linear-gradient(135deg,#03130d,#064830,#0b6fac);
}

.fx-lab-option[data-bg="fx-bg-win95-teal"] .fx-lab-swatch {
  background:linear-gradient(135deg,#008080,#0b6fac,#c0c0c0);
}

.fx-lab-option[data-bg="fx-bg-afterdark-black"] .fx-lab-swatch {
  background:linear-gradient(135deg,#020617,#08111f,#0f2d46);
}

.fx-lab-option[data-bg="fx-bg-cloud-steel"] .fx-lab-swatch {
  background:linear-gradient(135deg,#334155,#0f5d88,#172033);
}

.fx-lab-option[data-bg="fx-bg-red-team"] .fx-lab-swatch {
  background:linear-gradient(135deg,#2a0910,#8b1e2d,#fb8c00);
}

.fx-lab-option[data-bg="fx-bg-mint-circuit"] .fx-lab-swatch {
  background:linear-gradient(135deg,#052c2d,#0b6fac,#19b985);
}

.fx-lab-option[data-bg="fx-bg-deep-sea"] .fx-lab-swatch {
  background:linear-gradient(135deg,#043252,#0b6fac,#021827);
}

.fx-lab-option[data-bg="fx-bg-violet-alert"] .fx-lab-swatch {
  background:linear-gradient(135deg,#15112e,#0b5d89,#fb8c00);
}

.fx-lab-option[data-bg="fx-bg-high-contrast"] .fx-lab-swatch {
  background:linear-gradient(135deg,#000,#073b5a,#f7c543);
}

.fx-lab-option[data-bg="fx-bg-ice-blue"] .fx-lab-swatch {
  background:linear-gradient(135deg,#062a43,#0b6fac,#d8f6ff);
}

.fx-lab-option[data-bg="fx-bg-gold-wire"] .fx-lab-swatch {
  background:linear-gradient(135deg,#061b2b,#0c4868,#f7c543);
}

.fx-lab-option[data-bg="fx-bg-aqua-radar"] .fx-lab-swatch {
  background:linear-gradient(135deg,#04262d,#0b5f80,#2ac78f);
}

.fx-lab-option[data-bg="fx-bg-coral-breach"] .fx-lab-swatch {
  background:linear-gradient(135deg,#25141d,#0b405f,#ff6f61);
}

.fx-lab-option[data-bg="fx-bg-lime-slate"] .fx-lab-swatch {
  background:linear-gradient(135deg,#111827,#234155,#a4d65e);
}

.fx-lab-option[data-bg="fx-bg-indigo-shield"] .fx-lab-swatch {
  background:linear-gradient(135deg,#151c3b,#0b5d89,#7c9cff);
}

.fx-lab-option[data-bg="fx-bg-silver-scan"] .fx-lab-swatch {
  background:linear-gradient(135deg,#1f2937,#486274,#cbd5e1);
}

.fx-lab-option[data-bg="fx-bg-electric-cyan"] .fx-lab-swatch {
  background:linear-gradient(135deg,#021827,#005f73,#00d4ff);
}

.fx-lab-option[data-bg="fx-bg-graphite-amber"] .fx-lab-swatch {
  background:linear-gradient(135deg,#101820,#063454,#f59e0b);
}

.page-header.fx-streaks {
  position:relative;
  overflow:hidden;
}

.page-header.fx-streaks::before {
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(120deg,rgba(255,255,255,.06) 0,rgba(255,255,255,.06) 2px,transparent 2px,transparent 20px);
  mix-blend-mode:screen;
  animation:fxStreaksMove 12s linear infinite;
  pointer-events:none;
}

@keyframes fxStreaksMove {
  from { background-position:0 0; }
  to { background-position:600px 360px; }
}

.page-header.fx-squares {
  position:relative;
  overflow:hidden;
}

.page-header.fx-squares::after,
.page-header.fx-squares::before {
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  border:2px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.04);
  animation:fxSquares 14s linear infinite;
  pointer-events:none;
}

.page-header.fx-squares::after {
  width:140px;
  height:140px;
  border-color:rgba(255,255,255,.12);
  animation-duration:10s;
  animation-direction:reverse;
}

@keyframes fxSquares {
  0% { transform:translate(5vw,10vh) rotate(0); }
  25% { transform:translate(70vw,12vh) rotate(90deg); }
  50% { transform:translate(60vw,60vh) rotate(180deg); }
  75% { transform:translate(10vw,55vh) rotate(270deg); }
  100% { transform:translate(5vw,10vh) rotate(360deg); }
}

.page-header.fx-blobs {
  position:relative;
  overflow:hidden;
}

.page-header.fx-blobs::before {
  content:"";
  position:absolute;
  inset:-35%;
  background:radial-gradient(40% 35% at 20% 20%,rgba(255,255,255,.18),transparent 60%),radial-gradient(35% 40% at 80% 30%,rgba(255,255,255,.14),transparent 60%),radial-gradient(45% 35% at 60% 80%,rgba(255,255,255,.12),transparent 60%),radial-gradient(30% 30% at 30% 70%,rgba(255,255,255,.1),transparent 60%);
  filter:blur(60px);
  animation:fxBlobsDrift 18s ease-in-out infinite alternate;
  pointer-events:none;
}

@keyframes fxBlobsDrift {
  0% { transform:translate(-3%,-2%) scale(1); }
  50% { transform:translate(2%,3%) scale(1.05); }
  100% { transform:translate(4%,-1%) scale(1.1); }
}

.page-header.fx-shimmer {
  position:relative;
  overflow:hidden;
}

.page-header.fx-shimmer::before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 10% 20%,rgba(255,255,255,.06),transparent 35%),radial-gradient(circle at 80% 10%,rgba(255,255,255,.05),transparent 40%),radial-gradient(circle at 30% 80%,rgba(255,255,255,.05),transparent 45%),radial-gradient(circle at 90% 70%,rgba(255,255,255,.04),transparent 45%),repeating-radial-gradient(circle,rgba(255,255,255,.04) 0 1px,transparent 1px 7px);
  background-size:100% 100%,100% 100%,100% 100%,100% 100%,160px 160px;
  animation:fxShimmerFloat 10s ease-in-out infinite alternate;
  pointer-events:none;
  opacity:.9;
}

@keyframes fxShimmerFloat {
  from { transform:translateY(-2%) scale(1); }
  to { transform:translateY(2%) scale(1.03); }
}

.page-header.fx-boxes-1 {
  position:relative;
  overflow:hidden;
}

.page-header.fx-boxes-1::after,
.page-header.fx-boxes-1::before {
  content:"";
  position:absolute;
  inset:-20%;
  background:linear-gradient(135deg,rgba(255,255,255,.12) 0 0) 10% 20%/220px 220px no-repeat,linear-gradient(135deg,rgba(255,255,255,.1) 0 0) 70% 10%/160px 160px no-repeat,linear-gradient(135deg,rgba(255,255,255,.08) 0 0) 80% 70%/260px 260px no-repeat,linear-gradient(135deg,rgba(255,255,255,.06) 0 0) 25% 75%/140px 140px no-repeat;
  animation:fxBoxes1 22s ease-in-out infinite alternate;
  pointer-events:none;
}

.page-header.fx-boxes-1::after {
  opacity:.7;
  transform:rotate(12deg);
  animation-duration:28s;
}

@keyframes fxBoxes1 {
  0% { transform:translate(-4%,-3%) rotate(0) scale(1); }
  50% { transform:translate(3%,2%) rotate(8deg) scale(1.05); }
  100% { transform:translate(5%,-2%) rotate(16deg) scale(1.1); }
}

.page-header.fx-boxes-2-risk-b {
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.page-header.fx-boxes-2-risk-b > * {
  position:relative;
  z-index:1;
}

.page-header.fx-boxes-2-risk-b::after,
.page-header.fx-boxes-2-risk-b::before {
  content:"";
  position:absolute;
  inset:auto;
  pointer-events:none;
  z-index:0;
}

.page-header.fx-boxes-2-risk-b::before {
  top:-90px;
  right:-40px;
  width:520px;
  height:520px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.11) 0 2px,transparent 2px 74px),radial-gradient(circle,rgba(255,255,255,.08) 0 1px,transparent 1px 34px);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 0 0 16px rgba(255,255,255,.02),0 0 0 52px rgba(255,255,255,.014);
  opacity:.58;
  animation:hrmPulseMap 22s linear infinite;
}

.page-header.fx-boxes-2-risk-b::after {
  left:8%;
  top:20%;
  width:320px;
  height:320px;
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.09),transparent 64%),linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 28px),linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 28px);
  border:1px solid rgba(255,255,255,.09);
  opacity:.5;
  transform:rotate(10deg);
  animation:hrmPanelFloat 18s ease-in-out infinite alternate;
}

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

@keyframes hrmPanelFloat {
  0% { transform:translate3d(0,0,0) rotate(10deg); }
  100% { transform:translate3d(14px,-12px,0) rotate(5deg); }
}

.page-header.fx-boxes-4 {
  position:relative;
  overflow:hidden;
}

.page-header.fx-boxes-4::before {
  content:"";
  position:absolute;
  inset:-10%;
  background:linear-gradient(rgba(255,255,255,.06),rgba(255,255,255,.06)) 12% 18%/220px 140px no-repeat,linear-gradient(rgba(255,255,255,.05),rgba(255,255,255,.05)) 68% 22%/180px 220px no-repeat,linear-gradient(rgba(255,255,255,.04),rgba(255,255,255,.04)) 78% 72%/260px 160px no-repeat,linear-gradient(rgba(255,255,255,.03),rgba(255,255,255,.03)) 22% 74%/160px 200px no-repeat;
  filter:blur(2px);
  animation:fxBoxes4Pulse 9s ease-in-out infinite alternate;
  pointer-events:none;
}

@keyframes fxBoxes4Pulse {
  0% { transform:translateY(-2%) scale(1); opacity:.7; }
  50% { transform:translateY(1%) scale(1.03); opacity:1; }
  100% { transform:translateY(3%) scale(1.06); opacity:.8; }
}

.page-header.fx-boxes-hover {
  position:relative;
  overflow:hidden;
}

.page-header.fx-boxes-hover::before {
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 2px,transparent 2px 28px),repeating-linear-gradient(0deg,rgba(255,255,255,.06) 0 2px,transparent 2px 28px);
  opacity:.35;
  transition:opacity .4s ease,transform .6s ease;
  pointer-events:none;
}

.page-header.fx-boxes-hover:hover::before {
  opacity:.8;
  transform:scale(1.08) rotate(2deg);
}

.page-header.fx-shield-1 {
  position:relative;
  overflow:hidden;
}

.page-header.fx-shield-1::after,
.page-header.fx-shield-1::before {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:560px;
  height:620px;
  margin:-310px 0 0 -280px;
  pointer-events:none;
  clip-path:polygon(50% 0%,88% 8%,92% 28%,84% 60%,50% 100%,16% 60%,8% 28%,12% 8%);
  border:2px solid rgba(255,255,255,.18);
  box-shadow:inset 0 0 0 18px rgba(255,255,255,.03),0 0 0 60px rgba(255,255,255,.02),0 0 80px rgba(255,255,255,.06);
  animation:fxShieldSpin 28s linear infinite;
  opacity:.85;
}

.page-header.fx-shield-1::after {
  width:360px;
  height:400px;
  margin:-200px 0 0 -180px;
  border-color:rgba(255,255,255,.12);
  box-shadow:inset 0 0 0 10px rgba(255,255,255,.03),0 0 50px rgba(255,255,255,.04);
  animation-duration:18s;
  animation-direction:reverse;
  opacity:.6;
}

@keyframes fxShieldSpin {
  from { transform:translate(-50%,-50%) rotate(0); }
  to { transform:translate(-50%,-50%) rotate(360deg); }
}

.page-header.fx-frames-1 {
  position:relative;
  overflow:hidden;
}

.page-header.fx-frames-1::after,
.page-header.fx-frames-1::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:conic-gradient(from 0deg,transparent 0 85%,rgba(255,255,255,.18) 85% 100%),conic-gradient(from 90deg,transparent 0 85%,rgba(255,255,255,.12) 85% 100%),conic-gradient(from 180deg,transparent 0 85%,rgba(255,255,255,.08) 85% 100%);
  mask:radial-gradient(circle at 50% 50%,transparent 0 38%,#000 39%),radial-gradient(circle at 50% 50%,transparent 0 55%,#000 56%),radial-gradient(circle at 50% 50%,transparent 0 70%,#000 71%);
  mask-composite:intersect;
  opacity:.8;
  animation:fxFrames1Spin 26s linear infinite;
}

.page-header.fx-frames-1::after {
  animation-duration:18s;
  animation-direction:reverse;
  opacity:.55;
}

@keyframes fxFrames1Spin {
  from { transform:rotate(0) scale(1.05); }
  to { transform:rotate(360deg) scale(1.05); }
}

.page-header.fx-frames-2 {
  position:relative;
  overflow:hidden;
}

.page-header.fx-frames-2::after,
.page-header.fx-frames-2::before {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  pointer-events:none;
  width:560px;
  height:560px;
  margin:-280px 0 0 -280px;
  border:2px solid rgba(255,255,255,.18);
  box-shadow:0 0 0 22px rgba(255,255,255,.03),0 0 0 70px rgba(255,255,255,.02),0 0 0 140px rgba(255,255,255,.015);
  animation:fxFrames2Spin 30s linear infinite;
}

.page-header.fx-frames-2::after {
  width:360px;
  height:360px;
  margin:-180px 0 0 -180px;
  border-color:rgba(255,255,255,.12);
  transform:rotate(45deg);
  animation-duration:20s;
  animation-direction:reverse;
}

@keyframes fxFrames2Spin {
  from { transform:translate(-50%,-50%) rotate(0); }
  to { transform:translate(-50%,-50%) rotate(360deg); }
}

.page-header.fx-box-vault {
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.page-header.fx-box-vault::after,
.page-header.fx-box-vault::before {
  content:"";
  position:absolute;
  left:58%;
  top:50%;
  pointer-events:none;
}

.page-header.fx-box-vault::before {
  width:620px;
  height:620px;
  margin:-310px 0 0 -310px;
  border:2px solid rgba(255,255,255,.2);
  border-radius:28px;
  background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.025)) 50% 50%/230px 230px no-repeat,linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.02)) 18% 18%/130px 130px no-repeat,linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.018)) 82% 24%/110px 110px no-repeat,linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.016)) 78% 78%/156px 156px no-repeat,linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.014)) 22% 80%/104px 104px no-repeat;
  box-shadow:0 0 0 24px rgba(255,255,255,.035),0 0 0 78px rgba(255,255,255,.02),0 34px 90px rgba(0,0,0,.16);
  opacity:.88;
  transform:translate(-50%,-50%) rotate(0);
  animation:fxBoxVaultSpin 30s linear infinite;
}

.page-header.fx-box-vault::after {
  width:360px;
  height:360px;
  margin:-180px 0 0 -180px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  background:linear-gradient(0deg,rgba(255,255,255,.07) 0 1px,transparent 1px 45px),linear-gradient(90deg,rgba(255,255,255,.07) 0 1px,transparent 1px 45px);
  box-shadow:0 0 0 18px rgba(255,255,255,.025),inset 0 0 0 28px rgba(255,255,255,.03);
  opacity:.72;
  transform:translate(-50%,-50%) rotate(45deg);
  animation:fxBoxVaultSpin 20s linear infinite reverse;
}

@keyframes fxBoxVaultSpin {
  from { transform:translate(-50%,-50%) rotate(0) scale(1); }
  50% { transform:translate(-50%,-50%) rotate(180deg) scale(1.025); }
  to { transform:translate(-50%,-50%) rotate(360deg) scale(1); }
}

.page-header.fx-screensaver-tunnel {
  position:relative;
  overflow:hidden;
}

.page-header.fx-screensaver-tunnel::after,
.page-header.fx-screensaver-tunnel::before {
  content:"";
  position:absolute;
  left:58%;
  top:52%;
  pointer-events:none;
  transform:translate(-50%,-50%) rotate(0) scale(.9);
}

.page-header.fx-screensaver-tunnel::before {
  width:500px;
  height:500px;
  border:2px solid rgba(255,255,255,.22);
  box-shadow:0 0 0 42px rgba(255,255,255,.08),0 0 0 92px rgba(255,255,255,.052),0 0 0 156px rgba(255,255,255,.035),0 0 0 238px rgba(255,255,255,.024);
  opacity:.76;
  animation:fxScreensaverTunnel 8s steps(10,end) infinite;
}

.page-header.fx-screensaver-tunnel::after {
  width:300px;
  height:300px;
  border:2px solid rgba(255,255,255,.15);
  box-shadow:0 0 0 28px rgba(255,255,255,.06),0 0 0 76px rgba(255,255,255,.035),inset 0 0 0 18px rgba(255,255,255,.035);
  opacity:.62;
  animation:fxScreensaverTunnelInner 6s steps(8,end) infinite reverse;
}

@keyframes fxScreensaverTunnel {
  0% { transform:translate(-50%,-50%) rotate(0) scale(.86); }
  50% { transform:translate(-50%,-50%) rotate(45deg) scale(1.08); }
  100% { transform:translate(-50%,-50%) rotate(90deg) scale(.86); }
}

@keyframes fxScreensaverTunnelInner {
  0% { transform:translate(-50%,-50%) rotate(45deg) scale(1.02); }
  100% { transform:translate(-50%,-50%) rotate(-45deg) scale(.82); }
}

.page-header.fx-afterdark-boxes {
  position:relative;
  overflow:hidden;
}

.page-header.fx-afterdark-boxes::after,
.page-header.fx-afterdark-boxes::before {
  content:"";
  position:absolute;
  inset:-22%;
  pointer-events:none;
}

.page-header.fx-afterdark-boxes::before {
  background:linear-gradient(rgba(255,255,255,.17),rgba(255,255,255,.17)) 12% 22%/150px 150px no-repeat,linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)) 72% 16%/110px 110px no-repeat,linear-gradient(rgba(255,255,255,.14),rgba(255,255,255,.14)) 82% 72%/180px 180px no-repeat,linear-gradient(rgba(255,255,255,.1),rgba(255,255,255,.1)) 22% 78%/92px 92px no-repeat;
  mix-blend-mode:screen;
  opacity:.68;
  animation:fxAfterDarkBoxes 9s steps(9,end) infinite;
}

.page-header.fx-afterdark-boxes::after {
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 2px,transparent 2px 36px),repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 2px,transparent 2px 36px);
  opacity:.38;
  transform:rotate(12deg);
  animation:fxAfterDarkGrid 16s linear infinite;
}

@keyframes fxAfterDarkBoxes {
  0% { transform:translate(0,0) rotate(0); background-position:12% 22%,72% 16%,82% 72%,22% 78%; }
  35% { transform:translate(4%,-3%) rotate(8deg); background-position:24% 16%,62% 28%,72% 64%,34% 70%; }
  70% { transform:translate(-2%,3%) rotate(-6deg); background-position:18% 70%,78% 24%,64% 76%,28% 18%; }
  100% { transform:translate(0,0) rotate(0); background-position:12% 22%,72% 16%,82% 72%,22% 78%; }
}

@keyframes fxAfterDarkGrid {
  from { background-position:0 0,0 0; }
  to { background-position:360px 200px,360px 200px; }
}

.page-header.fx-win95-maze {
  position:relative;
  overflow:hidden;
}

.page-header.fx-win95-maze::after,
.page-header.fx-win95-maze::before {
  content:"";
  position:absolute;
  inset:-35%;
  pointer-events:none;
  mix-blend-mode:screen;
}

.page-header.fx-win95-maze::before {
  background:linear-gradient(90deg,transparent 0 22px,rgba(255,255,255,.18) 22px 28px,transparent 28px 86px),linear-gradient(0deg,transparent 0 22px,rgba(255,255,255,.14) 22px 28px,transparent 28px 86px);
  background-size:112px 112px,112px 112px;
  transform:rotate(8deg) skewX(-10deg);
  opacity:.74;
  animation:fxWin95MazeMove 13s linear infinite;
}

.page-header.fx-win95-maze::after {
  background:linear-gradient(90deg,rgba(192,192,192,.12) 0 18px,transparent 18px 72px),linear-gradient(0deg,rgba(255,255,255,.08) 0 18px,transparent 18px 72px);
  background-size:144px 144px,144px 144px;
  opacity:.38;
  transform:rotate(-7deg);
  animation:fxWin95MazeMove 19s linear infinite reverse;
}

@keyframes fxWin95MazeMove {
  from { background-position:0 0,0 0; }
  to { background-position:560px -240px,560px -240px; }
}

.page-header.fx-sentinel-sweep {
  position:relative;
  overflow:hidden;
}

.page-header.fx-sentinel-sweep::after,
.page-header.fx-sentinel-sweep::before {
  content:"";
  position:absolute;
  pointer-events:none;
}

.page-header.fx-sentinel-sweep::before {
  inset:-25%;
  background:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(120deg,transparent 0 44%,rgba(255,255,255,.16) 48%,transparent 54%);
  background-size:46px 46px,46px 46px,100% 100%;
  transform:rotate(4deg);
  opacity:.62;
  animation:fxSentinelGrid 15s linear infinite;
}

.page-header.fx-sentinel-sweep::after {
  left:-30%;
  top:0;
  width:34%;
  height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);
  filter:blur(1px);
  opacity:.7;
  transform:skewX(-18deg);
  animation:fxSentinelSweep 5.6s ease-in-out infinite;
}

@keyframes fxSentinelGrid {
  from { background-position:0 0,0 0,0 0; }
  to { background-position:360px 180px,360px 180px,0 0; }
}

@keyframes fxSentinelSweep {
  0% { transform:translateX(0) skewX(-18deg); opacity:0; }
  12% { opacity:.72; }
  62% { opacity:.72; }
  100% { transform:translateX(430%) skewX(-18deg); opacity:0; }
}

.page-header.fx-firewall-stack {
  position:relative;
  overflow:hidden;
}

.page-header.fx-firewall-stack::after,
.page-header.fx-firewall-stack::before {
  content:"";
  position:absolute;
  inset:-35%;
  pointer-events:none;
  mix-blend-mode:screen;
}

.page-header.fx-firewall-stack::before {
  background:linear-gradient(90deg,rgba(255,255,255,.12) 0 86px,transparent 86px 112px,rgba(255,255,255,.07) 112px 168px,transparent 168px 224px),linear-gradient(0deg,transparent 0 26px,rgba(255,255,255,.07) 26px 30px,transparent 30px 78px);
  background-size:224px 78px,224px 78px;
  transform:skewX(-12deg) rotate(5deg);
  opacity:.62;
  animation:fxFirewallStack 10s linear infinite;
}

.page-header.fx-firewall-stack::after {
  background:linear-gradient(90deg,transparent 0 36px,rgba(255,255,255,.12) 36px 40px,transparent 40px 120px);
  background-size:120px 100%;
  opacity:.42;
  transform:rotate(-8deg);
  animation:fxFirewallStack 16s linear infinite reverse;
}

@keyframes fxFirewallStack {
  from { background-position:0 0,0 0; }
  to { background-position:448px 234px,448px 234px; }
}

.page-header.fx-box-rain {
  position:relative;
  overflow:hidden;
}

.page-header.fx-box-rain::after,
.page-header.fx-box-rain::before {
  content:"";
  position:absolute;
  inset:-45%;
  pointer-events:none;
  mix-blend-mode:screen;
}

.page-header.fx-box-rain::before {
  background:linear-gradient(rgba(255,255,255,.14),rgba(255,255,255,.14)) 10% 0/34px 34px no-repeat,linear-gradient(rgba(255,255,255,.1),rgba(255,255,255,.1)) 24% 18%/48px 48px no-repeat,linear-gradient(rgba(255,255,255,.13),rgba(255,255,255,.13)) 42% 4%/28px 28px no-repeat,linear-gradient(rgba(255,255,255,.09),rgba(255,255,255,.09)) 58% 26%/54px 54px no-repeat,linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)) 76% 8%/38px 38px no-repeat,linear-gradient(rgba(255,255,255,.08),rgba(255,255,255,.08)) 88% 22%/62px 62px no-repeat;
  opacity:.7;
  transform:rotate(10deg);
  animation:fxBoxRain 7.8s linear infinite;
}

.page-header.fx-box-rain::after {
  background:linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 44px),linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 44px);
  opacity:.45;
  transform:rotate(10deg);
  animation:fxBoxRainGrid 12s linear infinite;
}

@keyframes fxBoxRain {
  from { background-position:10% -20%,24% -4%,42% -18%,58% 4%,76% -10%,88% 0; }
  to { background-position:10% 120%,24% 136%,42% 122%,58% 144%,76% 130%,88% 140%; }
}

@keyframes fxBoxRainGrid {
  from { background-position:0 0,0 0; }
  to { background-position:0 520px,0 520px; }
}

.page-header.fx-radar-sweep {
  position:relative;
  overflow:hidden;
}

.page-header.fx-radar-sweep::after,
.page-header.fx-radar-sweep::before {
  content:"";
  position:absolute;
  left:64%;
  top:54%;
  pointer-events:none;
  transform:translate(-50%,-50%);
}

.page-header.fx-radar-sweep::before {
  width:680px;
  height:680px;
  border-radius:50%;
  background:radial-gradient(circle,transparent 0 19%,rgba(255,255,255,.12) 20% 20.5%,transparent 21% 37%,rgba(255,255,255,.1) 38% 38.5%,transparent 39% 57%,rgba(255,255,255,.08) 58% 58.5%,transparent 59%),linear-gradient(90deg,transparent 49.7%,rgba(255,255,255,.12) 50%,transparent 50.3%),linear-gradient(0deg,transparent 49.7%,rgba(255,255,255,.12) 50%,transparent 50.3%);
  opacity:.68;
  animation:fxRadarPulse 7s ease-in-out infinite;
}

.page-header.fx-radar-sweep::after {
  width:640px;
  height:640px;
  border-radius:50%;
  background:conic-gradient(from -20deg,rgba(255,255,255,.34),rgba(255,255,255,.09) 11%,transparent 24% 100%);
  opacity:.78;
  animation:fxRadarSweep 5.8s linear infinite;
}

@keyframes fxRadarPulse {
  0%,100% { transform:translate(-50%,-50%) scale(.98); opacity:.58; }
  50% { transform:translate(-50%,-50%) scale(1.04); opacity:.82; }
}

@keyframes fxRadarSweep {
  from { transform:translate(-50%,-50%) rotate(0); }
  to { transform:translate(-50%,-50%) rotate(360deg); }
}

.page-header.fx-data-rain {
  position:relative;
  overflow:hidden;
}

.page-header.fx-data-rain::after,
.page-header.fx-data-rain::before {
  content:"";
  position:absolute;
  inset:-45%;
  pointer-events:none;
  mix-blend-mode:screen;
}

.page-header.fx-data-rain::before {
  background:linear-gradient(180deg,transparent 0 18%,rgba(255,255,255,.18) 18% 24%,transparent 24% 100%) 8% 0/18px 190px,linear-gradient(180deg,transparent 0 8%,rgba(255,255,255,.12) 8% 19%,transparent 19% 100%) 22% 0/18px 260px,linear-gradient(180deg,transparent 0 30%,rgba(255,255,255,.16) 30% 38%,transparent 38% 100%) 41% 0/18px 220px,linear-gradient(180deg,transparent 0 12%,rgba(255,255,255,.12) 12% 27%,transparent 27% 100%) 63% 0/18px 250px,linear-gradient(180deg,transparent 0 24%,rgba(255,255,255,.17) 24% 33%,transparent 33% 100%) 84% 0/18px 210px;
  opacity:.72;
  animation:fxDataRainFall 6.8s linear infinite;
}

.page-header.fx-data-rain::after {
  background:linear-gradient(90deg,transparent 0 17px,rgba(255,255,255,.07) 17px 18px,transparent 18px 44px);
  background-size:44px 100%;
  opacity:.42;
  animation:fxDataRainColumns 12s linear infinite;
}

@keyframes fxDataRainFall {
  from { background-position:8% -280px,22% -120px,41% -360px,63% -80px,84% -240px; }
  to { background-position:8% 520px,22% 680px,41% 440px,63% 720px,84% 560px; }
}

@keyframes fxDataRainColumns {
  from { transform:translateX(0); }
  to { transform:translateX(88px); }
}

.page-header.fx-glitch-slabs {
  position:relative;
  overflow:hidden;
}

.page-header.fx-glitch-slabs::after,
.page-header.fx-glitch-slabs::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}

.page-header.fx-glitch-slabs::before {
  background:linear-gradient(90deg,rgba(255,255,255,.14),transparent 64%) 0 14%/72% 18px no-repeat,linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent) 22% 30%/62% 12px no-repeat,linear-gradient(90deg,rgba(255,255,255,.1),transparent 74%) 8% 50%/56% 26px no-repeat,linear-gradient(90deg,transparent,rgba(255,255,255,.12)) 36% 68%/50% 14px no-repeat,linear-gradient(90deg,rgba(255,255,255,.18),transparent) 14% 82%/68% 10px no-repeat;
  opacity:.66;
  animation:fxGlitchSlabs 3.2s steps(6,end) infinite;
}

.page-header.fx-glitch-slabs::after {
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 5px);
  opacity:.42;
  animation:fxGlitchScanlines 1.8s steps(4,end) infinite;
}

@keyframes fxGlitchSlabs {
  0%,100% { transform:translate3d(0,0,0); background-position:0 14%,22% 30%,8% 50%,36% 68%,14% 82%; }
  18% { transform:translate3d(12px,-2px,0); background-position:4% 13%,18% 31%,12% 49%,30% 70%,18% 82%; }
  36% { transform:translate3d(-10px,3px,0); background-position:-2% 16%,26% 29%,3% 52%,42% 66%,10% 84%; }
  54% { transform:translate3d(16px,0,0); background-position:8% 14%,14% 33%,14% 50%,34% 67%,22% 81%; }
}

@keyframes fxGlitchScanlines {
  from { transform:translateY(0); }
  to { transform:translateY(12px); }
}

.page-header.fx-hex-drift {
  position:relative;
  overflow:hidden;
}

.page-header.fx-hex-drift::after,
.page-header.fx-hex-drift::before {
  content:"";
  position:absolute;
  inset:-38%;
  pointer-events:none;
  mix-blend-mode:screen;
}

.page-header.fx-hex-drift::before {
  background:linear-gradient(30deg,transparent 0 36px,rgba(255,255,255,.08) 36px 38px,transparent 38px 76px),linear-gradient(150deg,transparent 0 36px,rgba(255,255,255,.08) 36px 38px,transparent 38px 76px),linear-gradient(90deg,transparent 0 36px,rgba(255,255,255,.06) 36px 38px,transparent 38px 76px);
  background-size:132px 76px,132px 76px,132px 76px;
  opacity:.66;
  transform:rotate(4deg);
  animation:fxHexDrift 18s linear infinite;
}

.page-header.fx-hex-drift::after {
  background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.18) 0 2px,transparent 3px);
  background-size:132px 76px;
  opacity:.38;
  transform:rotate(4deg);
  animation:fxHexDrift 11s linear infinite reverse;
}

@keyframes fxHexDrift {
  from { background-position:0 0,0 0,0 0; }
  to { background-position:396px 228px,396px 228px,396px 228px; }
}

.page-header.fx-packet-burst {
  position:relative;
  overflow:hidden;
}

.page-header.fx-packet-burst::after,
.page-header.fx-packet-burst::before {
  content:"";
  position:absolute;
  left:60%;
  top:52%;
  pointer-events:none;
  transform:translate(-50%,-50%);
}

.page-header.fx-packet-burst::before {
  width:620px;
  height:420px;
  background:linear-gradient(rgba(255,255,255,.18),rgba(255,255,255,.18)) 50% 50%/46px 20px no-repeat,linear-gradient(rgba(255,255,255,.14),rgba(255,255,255,.14)) 50% 50%/38px 18px no-repeat,linear-gradient(rgba(255,255,255,.13),rgba(255,255,255,.13)) 50% 50%/52px 18px no-repeat,linear-gradient(rgba(255,255,255,.11),rgba(255,255,255,.11)) 50% 50%/32px 16px no-repeat,linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)) 50% 50%/42px 18px no-repeat,linear-gradient(rgba(255,255,255,.1),rgba(255,255,255,.1)) 50% 50%/34px 16px no-repeat;
  opacity:.82;
  animation:fxPacketBurst 4.8s cubic-bezier(.42,0,.2,1) infinite;
}

.page-header.fx-packet-burst::after {
  width:720px;
  height:500px;
  background:linear-gradient(30deg,transparent 49%,rgba(255,255,255,.08) 50%,transparent 51%),linear-gradient(150deg,transparent 49%,rgba(255,255,255,.06) 50%,transparent 51%);
  opacity:.48;
  animation:fxPacketLines 4.8s ease-in-out infinite;
}

@keyframes fxPacketBurst {
  0% { background-position:50% 50%,50% 50%,50% 50%,50% 50%,50% 50%,50% 50%; opacity:0; }
  12% { opacity:.82; }
  74% { background-position:8% 18%,28% 70%,48% 16%,72% 78%,88% 28%,62% 48%; opacity:.82; }
  100% { background-position:-4% 12%,22% 92%,46% -4%,88% 96%,106% 20%,64% 50%; opacity:0; }
}

@keyframes fxPacketLines {
  0%,100% { transform:translate(-50%,-50%) scale(.86); opacity:.18; }
  45% { transform:translate(-50%,-50%) scale(1.05); opacity:.5; }
}

.page-header.fx-prism-scan {
  position:relative;
  overflow:hidden;
}

.page-header.fx-prism-scan::after,
.page-header.fx-prism-scan::before {
  content:"";
  position:absolute;
  inset:-25%;
  pointer-events:none;
  mix-blend-mode:screen;
}

.page-header.fx-prism-scan::before {
  background:linear-gradient(112deg,transparent 0 35%,rgba(255,255,255,.19) 36% 42%,transparent 43% 100%),linear-gradient(68deg,transparent 0 52%,rgba(255,255,255,.13) 53% 58%,transparent 59% 100%),linear-gradient(128deg,transparent 0 18%,rgba(255,255,255,.1) 19% 24%,transparent 25% 100%);
  opacity:.74;
  transform:translateX(-20%);
  animation:fxPrismScan 7.4s ease-in-out infinite;
}

.page-header.fx-prism-scan::after {
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);
  width:24%;
  left:-28%;
  right:auto;
  opacity:.7;
  transform:skewX(-20deg);
  animation:fxPrismBeam 4.6s ease-in-out infinite;
}

@keyframes fxPrismScan {
  0%,100% { transform:translateX(-18%) rotate(0); opacity:.5; }
  50% { transform:translateX(10%) rotate(2deg); opacity:.86; }
}

@keyframes fxPrismBeam {
  0% { transform:translateX(0) skewX(-20deg); opacity:0; }
  18%,70% { opacity:.72; }
  100% { transform:translateX(580%) skewX(-20deg); opacity:0; }
}

.page-header.fx-cube-wirefield {
  position:relative;
  overflow:hidden;
}

.page-header.fx-cube-wirefield::after,
.page-header.fx-cube-wirefield::before {
  content:"";
  position:absolute;
  inset:-45%;
  pointer-events:none;
  mix-blend-mode:screen;
}

.page-header.fx-cube-wirefield::before {
  background:repeating-linear-gradient(60deg,rgba(255,255,255,.08) 0 2px,transparent 2px 58px),repeating-linear-gradient(-60deg,rgba(255,255,255,.07) 0 2px,transparent 2px 58px),repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 2px,transparent 2px 58px);
  background-size:174px 174px,174px 174px,174px 174px;
  opacity:.64;
  transform:rotate(6deg) scaleY(.82);
  animation:fxCubeWirefield 18s linear infinite;
}

.page-header.fx-cube-wirefield::after {
  background:linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)) 24% 24%/94px 94px no-repeat,linear-gradient(rgba(255,255,255,.08),rgba(255,255,255,.08)) 68% 18%/126px 126px no-repeat,linear-gradient(rgba(255,255,255,.1),rgba(255,255,255,.1)) 78% 74%/86px 86px no-repeat,linear-gradient(rgba(255,255,255,.07),rgba(255,255,255,.07)) 30% 76%/142px 142px no-repeat;
  opacity:.46;
  transform:rotate(6deg) scaleY(.82);
  animation:fxCubePanels 10s ease-in-out infinite alternate;
}

@keyframes fxCubeWirefield {
  from { background-position:0 0,0 0,0 0; }
  to { background-position:522px 302px,522px 302px,522px 302px; }
}

@keyframes fxCubePanels {
  from { transform:rotate(6deg) scaleY(.82) translate3d(-1%,-1%,0); }
  to { transform:rotate(6deg) scaleY(.82) translate3d(2%,2%,0); }
}

.page-header.fx-orbit-lock {
  position:relative;
  overflow:hidden;
}

.page-header.fx-orbit-lock::after,
.page-header.fx-orbit-lock::before {
  content:"";
  position:absolute;
  left:60%;
  top:52%;
  pointer-events:none;
}

.page-header.fx-orbit-lock::before {
  width:620px;
  height:620px;
  margin:-310px 0 0 -310px;
  border:2px solid rgba(255,255,255,.15);
  border-radius:50%;
  background:radial-gradient(circle at center,rgba(255,255,255,.14) 0 3px,transparent 4px),linear-gradient(rgba(255,255,255,.18),rgba(255,255,255,.18)) 50% 2%/54px 54px no-repeat,linear-gradient(rgba(255,255,255,.13),rgba(255,255,255,.13)) 93% 50%/38px 38px no-repeat,linear-gradient(rgba(255,255,255,.13),rgba(255,255,255,.13)) 50% 93%/46px 46px no-repeat,linear-gradient(rgba(255,255,255,.1),rgba(255,255,255,.1)) 5% 50%/34px 34px no-repeat;
  opacity:.76;
  animation:fxOrbitLockSpin 18s linear infinite;
}

.page-header.fx-orbit-lock::after {
  width:340px;
  height:340px;
  margin:-170px 0 0 -170px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  box-shadow:0 0 0 46px rgba(255,255,255,.025),inset 0 0 0 18px rgba(255,255,255,.03);
  opacity:.68;
  animation:fxOrbitLockSpin 12s linear infinite reverse;
}

@keyframes fxOrbitLockSpin {
  from { transform:translate(-50%,-50%) rotate(0); }
  to { transform:translate(-50%,-50%) rotate(360deg); }
}

.page-header.fx-signal-bars {
  position:relative;
  overflow:hidden;
}

.page-header.fx-signal-bars::after,
.page-header.fx-signal-bars::before {
  content:"";
  position:absolute;
  inset:-20%;
  pointer-events:none;
  mix-blend-mode:screen;
}

.page-header.fx-signal-bars::before {
  background:linear-gradient(0deg,rgba(255,255,255,.16),rgba(255,255,255,.16)) 12% 100%/34px 38% no-repeat,linear-gradient(0deg,rgba(255,255,255,.12),rgba(255,255,255,.12)) 24% 100%/34px 58% no-repeat,linear-gradient(0deg,rgba(255,255,255,.18),rgba(255,255,255,.18)) 36% 100%/34px 32% no-repeat,linear-gradient(0deg,rgba(255,255,255,.1),rgba(255,255,255,.1)) 48% 100%/34px 74% no-repeat,linear-gradient(0deg,rgba(255,255,255,.15),rgba(255,255,255,.15)) 60% 100%/34px 44% no-repeat,linear-gradient(0deg,rgba(255,255,255,.12),rgba(255,255,255,.12)) 72% 100%/34px 66% no-repeat,linear-gradient(0deg,rgba(255,255,255,.17),rgba(255,255,255,.17)) 84% 100%/34px 36% no-repeat;
  opacity:.62;
  transform:skewX(-8deg);
  animation:fxSignalBars 3.8s steps(7,end) infinite;
}

.page-header.fx-signal-bars::after {
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.055) 0 2px,transparent 2px 34px);
  opacity:.34;
  animation:fxSignalGrid 6s linear infinite;
}

@keyframes fxSignalBars {
  0%,100% { background-size:34px 38%,34px 58%,34px 32%,34px 74%,34px 44%,34px 66%,34px 36%; }
  25% { background-size:34px 70%,34px 30%,34px 62%,34px 44%,34px 82%,34px 36%,34px 60%; }
  50% { background-size:34px 46%,34px 76%,34px 38%,34px 66%,34px 34%,34px 82%,34px 42%; }
  75% { background-size:34px 82%,34px 42%,34px 74%,34px 30%,34px 58%,34px 48%,34px 76%; }
}

@keyframes fxSignalGrid {
  from { background-position:0 0; }
  to { background-position:0 136px; }
}

.page-header.fx-topo-rings {
  position:relative;
  overflow:hidden;
}

.page-header.fx-topo-rings::after,
.page-header.fx-topo-rings::before {
  content:"";
  position:absolute;
  inset:-35%;
  pointer-events:none;
  mix-blend-mode:screen;
}

.page-header.fx-topo-rings::before {
  background:repeating-radial-gradient(ellipse at 70% 44%,transparent 0 34px,rgba(255,255,255,.12) 35px 37px,transparent 38px 70px),repeating-radial-gradient(ellipse at 22% 70%,transparent 0 28px,rgba(255,255,255,.08) 29px 31px,transparent 32px 62px);
  opacity:.62;
  animation:fxTopoRings 12s ease-in-out infinite alternate;
}

.page-header.fx-topo-rings::after {
  background:repeating-radial-gradient(circle at 44% 40%,transparent 0 40px,rgba(255,255,255,.08) 41px 43px,transparent 44px 82px);
  opacity:.42;
  animation:fxTopoRingsReverse 16s ease-in-out infinite alternate;
}

@keyframes fxTopoRings {
  from { transform:translate3d(-2%,-1%,0) scale(1); }
  to { transform:translate3d(2%,2%,0) scale(1.08); }
}

@keyframes fxTopoRingsReverse {
  from { transform:translate3d(2%,1%,0) scale(1.08); }
  to { transform:translate3d(-2%,-2%,0) scale(1); }
}

.page-header.fx-edu-cards {
  position:relative;
  overflow:hidden;
}

.page-header.fx-edu-cards::before {
  content:"";
  position:absolute;
  inset:-10%;
  pointer-events:none;
  background:linear-gradient(rgba(255,255,255,.08),rgba(255,255,255,.08)) 10% 20%/240px 140px no-repeat,linear-gradient(rgba(255,255,255,.06),rgba(255,255,255,.06)) 70% 12%/200px 180px no-repeat,linear-gradient(rgba(255,255,255,.05),rgba(255,255,255,.05)) 78% 70%/280px 160px no-repeat,linear-gradient(rgba(255,255,255,.04),rgba(255,255,255,.04)) 22% 75%/180px 210px no-repeat;
  filter:blur(1px);
  animation:eduCardsFloat 10s ease-in-out infinite alternate;
  opacity:.9;
}

@keyframes eduCardsFloat {
  0% { transform:translateY(-2%) translateX(-1%) scale(1); }
  100% { transform:translateY(3%) translateX(2%) scale(1.05); }
}

.page-header.fx-edu-frames {
  position:relative;
  overflow:hidden;
  animation:eduFramesPulse 6s ease-in-out infinite alternate;
}

.page-header.fx-edu-frames::after,
.page-header.fx-edu-frames::before {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  pointer-events:none;
  width:560px;
  height:560px;
  margin:-280px 0 0 -280px;
  border:2px solid rgba(255,255,255,.18);
  box-shadow:0 0 0 22px rgba(255,255,255,.03),0 0 0 70px rgba(255,255,255,.02),0 0 0 140px rgba(255,255,255,.015);
  animation:eduFramesSpin 28s linear infinite;
  opacity:.9;
}

.page-header.fx-edu-frames::after {
  width:360px;
  height:360px;
  margin:-180px 0 0 -180px;
  border-color:rgba(255,255,255,.12);
  transform:rotate(45deg);
  animation-duration:18s;
  animation-direction:reverse;
  opacity:.65;
}

@keyframes eduFramesSpin {
  from { transform:translate(-50%,-50%) rotate(0); }
  to { transform:translate(-50%,-50%) rotate(360deg); }
}

@keyframes eduFramesPulse {
  from { filter:brightness(1); }
  to { filter:brightness(.9); }
}

.page-header.fx-edu-march {
  position:relative;
  overflow:hidden;
}

.page-header.fx-edu-march::before {
  content:"";
  position:absolute;
  inset:-30%;
  pointer-events:none;
  opacity:.7;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 36px,transparent 36px 70px),repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 36px,transparent 36px 70px);
  background-size:120px 120px,120px 120px;
  transform:skewX(-10deg);
  animation:eduMarchRight 12s linear infinite;
  mix-blend-mode:screen;
}

@keyframes eduMarchRight {
  from { background-position:0 0,0 0; }
  to { background-position:520px 0,520px 0; }
}

.page-header.fx-edu-cubes {
  position:relative;
  overflow:hidden;
}

.page-header.fx-edu-cubes::before {
  content:"";
  position:absolute;
  inset:-35%;
  pointer-events:none;
  opacity:.6;
  background:repeating-linear-gradient(60deg,rgba(255,255,255,.06) 0 2px,transparent 2px 40px),repeating-linear-gradient(-60deg,rgba(255,255,255,.06) 0 2px,transparent 2px 40px),repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 2px,transparent 2px 40px);
  background-size:160px 160px,160px 160px,160px 160px;
  animation:eduCubesDrift 20s linear infinite;
  transform:translateZ(0) rotate(6deg);
  mix-blend-mode:screen;
}

@keyframes eduCubesDrift {
  from { background-position:0 0,0 0,0 0; }
  to { background-position:420px 240px,420px 240px,420px 240px; }
}

.page-header.fx-march-stairs {
  position:relative;
  overflow:hidden;
}

.page-header.fx-march-stairs::before {
  content:"";
  position:absolute;
  inset:-35%;
  pointer-events:none;
  opacity:.6;
  background:repeating-linear-gradient(45deg,rgba(255,255,255,.08) 0 34px,transparent 34px 70px),repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 34px,transparent 34px 70px);
  background-size:120px 120px,120px 120px;
  animation:stairsRight 12s linear infinite;
  mix-blend-mode:screen;
}

@keyframes stairsRight {
  from { background-position:0 0,0 0; }
  to { background-position:520px 0,520px 0; }
}

.page-header.fx-march-check {
  position:relative;
  overflow:hidden;
}

.page-header.fx-march-check::before {
  content:"";
  position:absolute;
  inset:-30%;
  pointer-events:none;
  opacity:.7;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.1) 0 26px,transparent 26px 46px,rgba(255,255,255,.06) 46px 60px,transparent 60px 90px),repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 28px,transparent 28px 90px);
  background-size:150px 120px,150px 120px;
  transform:skewX(-8deg);
  animation:checkMarchRight 9s linear infinite;
  mix-blend-mode:screen;
}

@keyframes checkMarchRight {
  from { background-position:0 0,0 0; }
  to { background-position:700px 0,700px 0; }
}

.page-header.fx-march-lanes {
  position:relative;
  overflow:hidden;
}

.page-header.fx-march-lanes::after,
.page-header.fx-march-lanes::before {
  content:"";
  position:absolute;
  inset:-35%;
  pointer-events:none;
  transform:skewX(-10deg);
  mix-blend-mode:screen;
}

.page-header.fx-march-lanes::before {
  opacity:.6;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.09) 0 40px,transparent 40px 86px),repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 40px,transparent 40px 86px);
  background-size:140px 140px,140px 140px;
  animation:lanesSlow 14s linear infinite;
}

.page-header.fx-march-lanes::after {
  opacity:.35;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 22px,transparent 22px 54px),repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 22px,transparent 22px 54px);
  background-size:90px 90px,90px 90px;
  animation:lanesFast 8s linear infinite;
}

@keyframes lanesSlow {
  from { background-position:0 0,0 0; }
  to { background-position:600px 0,600px 0; }
}

@keyframes lanesFast {
  from { background-position:0 0,0 0; }
  to { background-position:900px 0,900px 0; }
}

.page-header.fx-pixels {
  position:relative;
  overflow:hidden;
}

.page-header.fx-pixels::before {
  content:"";
  position:absolute;
  inset:-50%;
  pointer-events:none;
  opacity:.55;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 6px,transparent 6px 28px),repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 6px,transparent 6px 28px);
  background-size:60px 60px,60px 60px;
  transform:rotate(20deg);
  animation:pixelsFlow 9s linear infinite;
  mix-blend-mode:screen;
}

@keyframes pixelsFlow {
  from { background-position:0 0,0 0; }
  to { background-position:500px 260px,500px 260px; }
}

.page-header.fx-panes-float {
  position:relative;
  overflow:hidden;
}

.page-header.fx-panes-float::before {
  content:"";
  position:absolute;
  inset:-15%;
  pointer-events:none;
  background:linear-gradient(rgba(255,255,255,.1),rgba(255,255,255,.1)) 8% 18%/320px 180px no-repeat,linear-gradient(rgba(255,255,255,.07),rgba(255,255,255,.07)) 70% 8%/240px 240px no-repeat,linear-gradient(rgba(255,255,255,.06),rgba(255,255,255,.06)) 78% 70%/360px 200px no-repeat,linear-gradient(rgba(255,255,255,.05),rgba(255,255,255,.05)) 22% 78%/220px 260px no-repeat;
  filter:blur(2px);
  animation:panesFloat 12s ease-in-out infinite alternate;
  opacity:.9;
}

@keyframes panesFloat {
  0% { transform:translate(-1%,-2%) scale(1); }
  100% { transform:translate(3%,2%) scale(1.05); }
}

.page-header.fx-box-ripples {
  position:relative;
  overflow:hidden;
}

.page-header.fx-box-ripples::before {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  pointer-events:none;
  width:700px;
  height:700px;
  margin:-350px 0 0 -350px;
  border:2px solid rgba(255,255,255,.14);
  box-shadow:0 0 0 40px rgba(255,255,255,.05),0 0 0 110px rgba(255,255,255,.03),0 0 0 200px rgba(255,255,255,.02);
  animation:boxRipples 10s ease-in-out infinite alternate;
  opacity:.8;
}

@keyframes boxRipples {
  from { transform:translate(-50%,-50%) rotate(0) scale(1); }
  to { transform:translate(-50%,-50%) rotate(20deg) scale(1.12); }
}

.page-header.fx-checker-pulse {
  position:relative;
  overflow:hidden;
}

.page-header.fx-checker-pulse::before {
  content:"";
  position:absolute;
  inset:-30%;
  pointer-events:none;
  opacity:.6;
  background:conic-gradient(from 45deg,rgba(255,255,255,.08) 0 25%,transparent 0 50%,rgba(255,255,255,.05) 0 75%,transparent 0 100%);
  background-size:180px 180px;
  animation:checkerPulse 8s ease-in-out infinite alternate;
  mix-blend-mode:screen;
}

@keyframes checkerPulse {
  0% { transform:translate(-2%,-2%) scale(1); opacity:.45; }
  100% { transform:translate(2%,2%) scale(1.08); opacity:.85; }
}

.page-header.fx-iso-lattice {
  position:relative;
  overflow:hidden;
}

.page-header.fx-iso-lattice::before {
  content:"";
  position:absolute;
  inset:-35%;
  pointer-events:none;
  opacity:.6;
  background:repeating-linear-gradient(60deg,rgba(255,255,255,.06) 0 2px,transparent 2px 40px),repeating-linear-gradient(-60deg,rgba(255,255,255,.06) 0 2px,transparent 2px 40px),repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 2px,transparent 2px 40px);
  background-size:160px 160px,160px 160px,160px 160px;
  transform:rotate(7deg);
  animation:isoDrift 20s linear infinite;
  mix-blend-mode:screen;
}

@keyframes isoDrift {
  from { background-position:0 0,0 0,0 0; }
  to { background-position:420px 240px,420px 240px,420px 240px; }
}

.page-header.fx-news-ticker {
  position:relative;
  overflow:hidden;
}

.page-header.fx-news-ticker::after,
.page-header.fx-news-ticker::before {
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:0;
}

.page-header.fx-news-ticker::before {
  left:-20%;
  right:-8%;
  top:78%;
  height:60px;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.1);
  background:linear-gradient(90deg,rgba(3,17,28,.02),rgba(3,17,28,.14) 34%,rgba(3,17,28,.28) 66%,rgba(251,140,0,.08));
  box-shadow:0 18px 48px rgba(0,0,0,.1),0 68px 0 rgba(3,17,28,.1),0 69px 0 rgba(255,255,255,.045);
  opacity:.5;
  transform:rotate(-4deg);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.45) 24%,#000 48%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.45) 24%,#000 48%,#000 100%);
}

.page-header.fx-news-ticker::after {
  right:22%;
  top:50%;
  width:520px;
  height:520px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%,rgba(251,140,0,.2) 0 3px,transparent 4px),
    repeating-radial-gradient(circle at 50% 50%,transparent 0 58px,rgba(255,255,255,.085) 59px 60px,transparent 61px 106px),
    conic-gradient(from 42deg,transparent 0 10%,rgba(255,255,255,.12) 12%,transparent 20% 54%,rgba(42,199,143,.12) 56%,transparent 65% 100%),
    linear-gradient(90deg,rgba(255,255,255,.08),transparent 68%) 58% 24%/190px 64px no-repeat,
    linear-gradient(90deg,rgba(251,140,0,.13),transparent 70%) 22% 62%/170px 58px no-repeat;
  box-shadow:0 0 0 26px rgba(255,255,255,.02),0 0 0 74px rgba(255,255,255,.012),0 28px 70px rgba(0,0,0,.1);
  opacity:.5;
  transform:translateY(-50%) rotate(0);
  animation:fxNewsPulse 8s ease-in-out infinite alternate,fxNewsScan 30s linear infinite;
}

.fx-news-ticker-layer {
  display:none;
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
  pointer-events:none;
}

.page-header.fx-news-ticker .fx-news-ticker-layer {
  display:block;
}

.fx-news-ticker-rail {
  position:absolute;
  left:-20%;
  right:-8%;
  top:78%;
  height:60px;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.16);
  border-bottom:1px solid rgba(255,255,255,.12);
  background:
    repeating-linear-gradient(90deg,transparent 0 72px,rgba(255,255,255,.06) 73px 74px,transparent 75px 148px),
    linear-gradient(90deg,rgba(3,17,28,.03),rgba(3,17,28,.14) 34%,rgba(3,17,28,.28) 68%,rgba(251,140,0,.075));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),inset 0 -1px 0 rgba(255,255,255,.04),0 18px 42px rgba(0,0,0,.08);
  transform:rotate(-4deg);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.45) 24%,#000 48%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.45) 24%,#000 48%,#000 100%);
}

.fx-news-ticker-rail--shadow {
  display:none;
}

.fx-news-ticker-track {
  display:flex;
  align-items:center;
  width:max-content;
  min-width:0;
  height:100%;
  animation:fxNewsTickerText 146s linear infinite;
  flex-shrink:0;
  will-change:transform;
}

.fx-news-ticker-track--slow {
  animation-duration:209s;
  animation-direction:reverse;
}

.fx-news-ticker-track span {
  position:relative;
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  gap:.5rem;
  height:100%;
  padding:0 18px;
  color:rgba(255,255,255,.44);
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:0;
  text-transform:uppercase;
  white-space:nowrap;
}

.fx-news-ticker-track span::before {
  content:"";
  flex:0 0 auto;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#fb8c00;
  box-shadow:0 0 0 7px rgba(251,140,0,.12),0 0 16px rgba(251,140,0,.2);
}

.fx-news-ticker-track span.fx-news-ticker-item--danger::before {
  width:7px;
  height:7px;
  background:#ff3b30;
  box-shadow:0 0 0 7px rgba(255,59,48,.13),0 0 18px rgba(255,59,48,.28);
}

.fx-news-ticker-track span.fx-news-ticker-item--good::before {
  content:"\2713";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#39ff88;
  box-shadow:0 0 0 6px rgba(57,255,136,.12),0 0 18px rgba(57,255,136,.28);
  color:#06331f;
  font-family:Arial,Helvetica,sans-serif;
  font-size:.72rem;
  font-weight:900;
  line-height:1;
}

.fx-news-alert-orbit {
  position:absolute;
  right:22%;
  top:50%;
  width:520px;
  height:520px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%,rgba(251,140,0,.22) 0 3px,transparent 4px),
    repeating-radial-gradient(circle at 50% 50%,transparent 0 58px,rgba(255,255,255,.09) 59px 60px,transparent 61px 106px),
    conic-gradient(from 42deg,transparent 0 10%,rgba(255,255,255,.14) 12%,transparent 20% 54%,rgba(42,199,143,.12) 56%,transparent 65% 100%);
  box-shadow:0 0 0 26px rgba(255,255,255,.02),0 0 0 74px rgba(255,255,255,.012),0 28px 70px rgba(0,0,0,.1);
  opacity:.58;
  transform:translateY(-50%);
  animation:fxNewsPulse 8s ease-in-out infinite alternate,fxNewsScan 30s linear infinite;
}

@keyframes fxNewsTickerText {
  from { transform:translate3d(0,0,0); }
  to { transform:translate3d(-50%,0,0); }
}

@keyframes fxNewsPulse {
  from { opacity:.44; }
  to { opacity:.78; }
}

@keyframes fxNewsScan {
  from { transform:translateY(-50%) rotate(0); }
  to { transform:translateY(-50%) rotate(360deg); }
}

@media (max-width:767.98px) {
  .fx-lab-page {
    overflow-x:hidden;
  }

  .fx-lab-page > .page-header > .container,
  .fx-lab-controls-section > .container {
    width:100%!important;
    max-width:100%!important;
    padding-right:13px;
    padding-left:13px;
  }

  .fx-lab-hero {
    min-height:500px;
    padding:64px 0;
  }

  .fx-lab-hero h1 {
    max-width:100%;
    font-size:2rem;
    line-height:1.1;
  }

  .fx-lab-hero p {
    max-width:100%;
  }

  .page-header.fx-news-ticker::before,
  .fx-news-ticker-rail {
    left:-42%;
    right:-34%;
    top:80%;
    height:46px;
    transform:rotate(-5deg);
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 20%,#000 42%,#000 100%);
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 20%,#000 42%,#000 100%);
  }

  .fx-news-ticker-rail--shadow {
    top:90%;
    height:30px;
  }

  .page-header.fx-news-ticker::after,
  .fx-news-alert-orbit {
    right:-54%;
    top:48%;
    width:500px;
    height:500px;
    opacity:.42;
  }

  .fx-news-ticker-track span {
    padding:0 14px;
    font-size:.68rem;
  }

  .fx-lab-control-head {
    align-items:flex-start;
    flex-direction:column;
  }
}

@media (prefers-reduced-motion:reduce) {
  .fx-lab-hero *,
  .fx-lab-hero::after,
  .fx-lab-hero::before {
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
}
