/* Platform page header — ticker, signal panel, Elementor editor */

.dot-grid-light {
  background-image: radial-gradient(circle, rgba(107, 70, 255, 0.08) 1px, transparent 1px);
  background-size: 32px 32px;
}

.spec-pill {
  background: rgba(107, 70, 255, 0.08);
  border: 1px solid rgba(107, 70, 255, 0.2);
  color: #6b46ff;
  font-family: "DM Mono", ui-monospace, monospace;
  font-size: 0.75rem;
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
}

.ontarioai-platform-header-hero__heading {
  font-size: clamp(2.8rem, 5.5vw, 4.8rem);
}

.signal-ticker {
  display: flex;
  gap: 1.5rem;
  animation: ontarioai-signal-ticker 18s linear infinite;
  white-space: nowrap;
}

@keyframes ontarioai-signal-ticker {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .signal-ticker {
    animation: none;
  }
}

/* Wave draw in Elementor canvas */
.elementor-widget-ontarioai-platform-header .hero-mesh:not(.is-hero-visible) .wave-line {
  stroke-dashoffset: 2000;
  animation: none;
}

.elementor-widget-ontarioai-platform-header .hero-mesh.is-hero-visible .wave-line {
  animation: drawLine 4s ease forwards;
}

.elementor-widget-ontarioai-platform-header .hero-mesh.is-hero-visible .wave-line:nth-child(2) {
  animation-delay: 0.5s;
}

.elementor-widget-ontarioai-platform-header .hero-mesh.is-hero-visible .wave-line:nth-child(3) {
  animation-delay: 1s;
}

/* Sticky sub-nav: avoid broken stickiness inside Elementor panel */
.ontarioai-platform-header--editor .ontarioai-platform-sticky-nav {
  position: relative !important;
  top: auto !important;
}

.ontarioai-platform-header--editor .ontarioai-platform-header-hero {
  min-height: 1px;
}
