/* Decorative flowing wire-wave strands, built by wire-waves.js.
   No layout height is introduced: the hero band fills the hero's
   existing box, and seam bands bleed upward into the section that
   already rendered above them, so section spacing is untouched. */
.wire-waves-root {
  /* Sentinel only: carries QA data attributes (paused/reduced/ready).
     The pause control now lives inline in the footer, not in here. */
  display: contents;
}
.wire-waves-hero-host {
  position: relative;
  isolation: isolate;
}
.wire-waves-hero-host > :not(.wire-wave-band) {
  position: relative;
  z-index: 1;
}
.wire-wave-band {
  pointer-events: none;
}
.wire-wave-band.wire-wave-hero {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  opacity: .5;
}
.wire-wave-band.wire-wave-hero svg {
  display: block;
  width: 100%;
  height: 100%;
}
.wire-wave-seam {
  position: relative;
  z-index: 0;
  height: 0;
  overflow: visible;
}
/* Seam artwork paints behind neighbouring content, never across its text. */
main > section,
footer {
  position: relative;
  z-index: 1;
}
.wire-wave-seam .wire-wave-band {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: clamp(64px, 11vw, 128px);
  overflow: hidden;
  opacity: .4;
}
.wire-wave-seam .wire-wave-band svg {
  display: block;
  width: 100%;
  height: 100%;
}
.wire-wave-strand {
  fill: none;
  stroke-linecap: round;
}
/* Inline footer control, same sizing convention as the other footer link. */
footer .wire-waves-pause {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 44px;
  min-height: 44px;
  padding: 8px 14px;
  border: 1px solid var(--line, #d4d8ca);
  border-radius: 999px;
  background: transparent;
  color: var(--ink, #182b24);
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: .02em;
  cursor: pointer;
}
footer .wire-waves-pause:hover,
footer .wire-waves-pause:focus-visible {
  background: var(--lime, #d5e7aa);
}
footer .wire-waves-pause:focus-visible {
  outline: 3px solid var(--coral, #f06449);
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  footer .wire-waves-pause {
    display: none;
  }
}
footer .wire-waves-pause[hidden] {
  display: none;
}
