/* Decorative enhancement only: no content, navigation or form needs motion. */
.k2-motion-scene { position: relative; }

.k2-motion-svg {
  position: absolute;
  z-index: 1;
  display: block;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
  touch-action: auto;
}

.k2-motion-layer,
.k2-motion-svg--perspective,
.k2-motion-svg--evidence,
.k2-motion-svg--network {
  translate: 0 var(--k2-motion-shift, 0px);
}

.k2-motion-svg.is-k2-art-unavailable { display: none; }
.k2-motion-svg--depth-only { display: none; }

/* Broad section threads continue the narrative all the way to contact. */
.k2-motion-svg--edition,
.k2-motion-svg--room,
.k2-motion-svg--insights,
.k2-motion-svg--invitation {
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: .65;
}
.k2-motion-line--section { stroke: #a9342c; stroke-width: 1.5; }
.k2-motion-svg--edition .k2-motion-line,
.k2-motion-svg--insights .k2-motion-line { stroke: #8d191e; }
.k2-motion-svg--edition .k2-motion-node,
.k2-motion-svg--insights .k2-motion-node { fill: #eae5dd; }

/* Extra edge coverage prevents gaps without zooming editorial artwork. */
.k2-motion-scene--impact,
.k2-motion-scene--contact { overflow: clip; }
.k2-motion-scene--impact .k2-motion-raster { scale: 1.14; }
.founder--ahmed .founder-art.k2-motion-raster { scale: 1.16; }
.k2-motion-scene--contact .k2-motion-raster { scale: 1.2; }
.k2-motion-scene--evidence .k2-motion-raster { scale: 1.14; }
.k2-motion-scene--study { margin-block: 40px; }
.k2-motion-scene--room-panel { margin-block: 36px; }
.k2-motion-scene--insight-card { margin-block: 28px; }
.contact-background.k2-motion-scene { position: absolute; }

@media (min-width: 761px) {
  /* Preserve the complete top AND bottom of the audience composition. */
  .audience-stage.k2-motion-scene--audience > img { top: 56px; height: calc(100% - 112px); }
}

.k2-motion-line,
.k2-motion-rail {
  fill: none;
  stroke: #c54b40;
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.k2-motion-line {
  stroke-dasharray: 1;
  stroke-dashoffset: 0;
  opacity: 0.76;
}

.k2-motion-svg--perspective .k2-motion-line { opacity: 0.48; }
.k2-motion-svg--perspective .k2-motion-line:first-child { opacity: 0.72; }
.k2-motion-svg--evidence .k2-motion-line { stroke-width: 1.65; opacity: 0.8; }
.k2-motion-svg--network .k2-motion-line { stroke-width: 1.15; opacity: 0.72; }

.k2-motion-svg--decisions {
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.k2-motion-scene--decisions > article { z-index: 1; }
.k2-motion-scene--decisions > article::before { opacity: 0; }
.k2-motion-rail { stroke: #ffffff23; stroke-width: 1; }
.k2-motion-line--rail { stroke: #c54b40; opacity: 0.95; stroke-width: 1.5; }
.k2-motion-node {
  fill: #1e1b1b;
  stroke: #74635e;
  stroke-width: 1;
  transition: fill 180ms ease, stroke 180ms ease;
}
.k2-motion-node.is-k2-active { fill: #b63b33; stroke: #ce665b; }
.k2-motion-scene--decisions > article > span { transition: color 180ms ease; }
.k2-motion-scene--decisions > article.is-k2-decision-active > span { color: #e07a6e; }

.k2-motion-toggle {
  display: inline-flex;
  min-height: 44px;
  width: fit-content;
  align-items: center;
  justify-self: end;
  padding: 7px 0;
  border: 0;
  border-bottom: 1px solid #ffffff25;
  color: #aaa49c;
  background: transparent;
  font: inherit;
  font-size: 10px;
  letter-spacing: 0.025em;
  cursor: pointer;
}
.k2-motion-toggle:hover { color: #f1e9df; border-color: #ffffff70; }
.k2-motion-toggle:focus-visible { outline: 1px solid #e5d5c7; outline-offset: 5px; }
.k2-motion-toggle:disabled { cursor: default; color: #9d978f; }

/* The local preference also covers the previously published hero layers. */
html.k2-reduce-motion .hero-media,
html.k2-reduce-motion .hero-media > img,
html.k2-reduce-motion .k2-hero-vector,
html.k2-reduce-motion .k2-hero-vector * {
  animation: none !important;
  transform: none !important;
  will-change: auto !important;
}
html.k2-reduce-motion .k2-hero-trace--fingerprint {
  opacity: 0.85 !important;
  stroke-dashoffset: 0 !important;
}
html.k2-reduce-motion .k2-hero-trace--thread,
html.k2-reduce-motion .k2-hero-light { opacity: 0 !important; }
html.k2-reduce-motion .k2-mara-sequence .k2-mara-sequence__frame {
  animation: none !important;
  opacity: 0 !important;
  will-change: auto !important;
}
html.k2-reduce-motion .k2-mara-sequence .k2-mara-sequence__frame.is-current { opacity: 1 !important; }
html.k2-reduce-motion .k2-motion-raster,
html.k2-reduce-motion .k2-motion-layer,
html.k2-reduce-motion .k2-motion-svg { translate: none !important; }
html.k2-reduce-motion .k2-motion-raster { scale: none !important; }
html.k2-reduce-motion .k2-motion-line { stroke-dashoffset: 0 !important; }
html.k2-reduce-motion .k2-motion-node,
html.k2-reduce-motion .k2-motion-scene--decisions > article > span { transition: none; }

@media (max-width: 760px), (hover: none), (pointer: coarse) {
  .k2-motion-line { stroke-width: 1.1; }
  .k2-motion-svg--perspective .k2-motion-line:not(:first-child) { opacity: 0.25; }
  .k2-motion-svg--network .k2-motion-line:nth-child(n + 4) { opacity: 0.28; }
  .k2-motion-svg--edition,
  .k2-motion-svg--room,
  .k2-motion-svg--insights,
  .k2-motion-svg--invitation { opacity: .4; }
  .k2-motion-scene--study { margin-block: 16px; }
  .k2-motion-scene--room-panel { margin-block: 16px; }
  .k2-motion-scene--insight-card { margin-block: 12px; }
  .k2-motion-toggle { justify-self: start; }
}

@media (prefers-reduced-motion: reduce) {
  .k2-motion-raster,
  .k2-motion-layer,
  .k2-motion-svg { translate: none !important; }
  .k2-motion-raster { scale: none !important; }
  .k2-motion-line { stroke-dashoffset: 0 !important; }
  .k2-motion-node,
  .k2-motion-scene--decisions > article > span { transition: none; }
}
