*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'DM Sans', sans-serif; background: #06071A; color: #fff; -webkit-font-smoothing: antialiased; }
a, a:visited { color: inherit; text-decoration: none; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0.15} }
@keyframes fadeUp { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:translateY(0)} }
.hero-in { animation: fadeUp 0.9s ease forwards; opacity: 0; }
.d1{animation-delay:0.05s} .d2{animation-delay:0.22s} .d3{animation-delay:0.38s} .d4{animation-delay:0.55s}
.reveal { opacity:0; transform:translateY(18px); transition:opacity 0.7s ease,transform 0.7s ease; }
.reveal.visible { opacity:1; transform:none; }
.rd1{transition-delay:0.07s} .rd2{transition-delay:0.16s} .rd3{transition-delay:0.25s}
.ind-card:hover img { transform: scale(1.04); }
@keyframes motionBlurIn { 0%{filter:blur(14px);opacity:0;transform:translateX(-26px) scaleX(1.06)} 60%{filter:blur(2px)} 100%{filter:blur(0);opacity:1;transform:translateX(0) scaleX(1)} }
.hero-motion-word { display:inline-block; animation:motionBlurIn 1.1s cubic-bezier(0.16,1,0.3,1) forwards; animation-delay:0.15s; opacity:0; }
@keyframes pulseBar { 0%,100%{transform:scaleY(0.3)} 50%{transform:scaleY(1)} }
.data-bar { animation:pulseBar 1.4s ease-in-out infinite; transform-origin:bottom; }
@keyframes dotToGrid {
  0%,18%{ transform:translate(var(--sx), var(--sy)); opacity:0.35; }
  55%,100%{ transform:translate(0,0); opacity:1; }
}
.motion-dot { position:absolute; width:5px; height:5px; border-radius:50%; background:#E8007A; animation:dotToGrid 3.2s cubic-bezier(0.65,0,0.35,1) infinite; }
@media(max-width:960px) {
  .how-grid{grid-template-columns:1fr!important}
  .cap-grid{grid-template-columns:1fr!important}
  .cap-teaser{grid-template-columns:1fr 1fr!important}
  .stats-strip{grid-template-columns:1fr 1fr!important}
  .ind-bento{grid-template-columns:1fr!important;grid-template-rows:auto!important}
  .ind-bento > div{grid-column:1!important;grid-row:auto!important;height:320px!important}
  .industry-row{grid-template-columns:1fr!important}
  .industry-row > div{min-height:300px!important}
  .audio-grid{grid-template-columns:1fr!important}
  .dash-hide{display:none!important}
  .feat-row{grid-template-columns:1fr!important}
}

/* hover states (were runtime style-hover attributes) */
[data-hv="hv1"]:hover { color:#fff !important; }
[data-hv="hv2"]:hover { opacity:0.85 !important; }
[data-hv="hv3"]:hover { color:#fff !important; border-color:rgba(255,255,255,0.25) !important; }
[data-hv="hv4"]:hover { border-color:rgba(232,0,122,0.3) !important; }
[data-hv="hv5"]:hover { border-color:rgba(123,42,184,0.4) !important; }
[data-hv="hv6"]:hover { opacity:0.9 !important; }
[data-hv="hv7"]:hover { color:#fff !important; border-color:rgba(255,255,255,0.7) !important; }
[data-hv="hv8"]:hover { color:#6B7499 !important; }

/* Skip link: visible only on keyboard focus. */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 200;
  padding: 10px 18px;
  background: #E8007A;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  border-radius: 0 0 6px 0;
}
.skip-link:focus { left: 0; }

/* Honour a reduced-motion preference: no entrance or looping animations. */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .hero-in, .hero-motion-word { opacity: 1 !important; }
  .reveal { opacity: 1 !important; transform: none !important; }
}
