.hero-visual-effects {
  position: relative !important;
  background: 
    repeating-linear-gradient(
      45deg,
      transparent,
      transparent 35px,
      rgba(255,255,255,0.03) 35px,
      rgba(255,255,255,0.03) 40px
    ),
    linear-gradient(135deg, #2563eb 0%, #3b82f6 50%, #1e40af 100%) !important;
  overflow: hidden !important;
}

.hero-visual-effects::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    linear-gradient(to right, rgba(255,255,255,0.1) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,0.1) 1px, transparent 1px),
    radial-gradient(circle at 20% 30%, rgba(255,255,255,0.2) 0%, transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(147,197,253,0.25) 0%, transparent 50%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,0.15) 0%, transparent 30%);
  background-size: 
    60px 60px,
    60px 60px,
    800px 800px,
    1000px 1000px,
    600px 600px;
  pointer-events: none;
  z-index: 1;
  animation: subtleMove 10s ease-in-out infinite;
	opacity:0.1;
}

.hero-visual-effects::after {
  content: '';
  position: absolute;
  top: 20%;
  right: 15%;
  width: 150px;
  height: 150px;
  border: 3px solid rgba(255,255,255,0.15);
  border-radius: 20px;
  transform: rotate(45deg);
  pointer-events: none;
  z-index: 2;
  animation: rotate 30s linear infinite;
}

.hero-visual-effects .wp-block-cover__inner-container,
.hero-visual-effects > * {
  position: relative;
  z-index: 10;
}

@keyframes subtleMove {
  0%, 100% { transform: translate(0, 0); }
  50% { transform: translate(20px, -20px); }
}

@keyframes rotate {
  from { transform: rotate(45deg); }
  to { transform: rotate(405deg); }
}
.wave-bg {
  position: relative;
  overflow: hidden;
  min-height: 250px;
  background: #ffffff;
}

/* Thick wave band (stroke instead of fill) */
.wave-bg::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 200%;
  height: 200px;

  background-repeat: repeat-x;
  background-size: 25% 100%;

  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 100 Q150 40 300 100 T600 100 T900 100 T1200 100' stroke='%230096ff' stroke-width='80' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");

  opacity: 0.2;

  animation: waveMove 60s linear infinite,
             waveFloat 10s ease-in-out infinite;
}

/* Horizontal movement */
@keyframes waveMove {
  from { transform: translateY(-50%) translateX(0); }
  to   { transform: translateY(-50%) translateX(-50%); }
}

/* Vertical float */
@keyframes waveFloat {
  0%, 100% { top: 50%; }
  50%      { top: 54%; }
}

/* Keep content above */
.wave-bg > * {
  position: relative;
  z-index: 1;
}

.p-0 {
	padding: 0 !important;
}
:root, .ct-menu-link {
  --theme-link-active-color: #000 !important;
}