/* Motion sits on top of the original composition; none of the content relies on it. */
.dc-motion-ready .button > span,
.dc-motion-ready .text-link > span,
.dc-motion-ready .header-contact > span {
  display: inline-block;
  transition: transform .45s cubic-bezier(.16,1,.3,1);
}
.dc-motion-ready .button:is(:hover,:focus-visible) > span,
.dc-motion-ready .text-link:is(:hover,:focus-visible) > span,
.dc-motion-ready .header-contact:is(:hover,:focus-visible) > span {
  transform: translate(3px,-3px);
}
.dc-motion-ready .button:active { transform: translateY(-1px) scale(.985); }
.dc-motion-ready .process-symbol span {
  transition: transform .7s cubic-bezier(.16,1,.3,1), border-radius .7s, left .7s;
}
.dc-motion-ready .horizon-tags span {
  transition: color .3s, background .3s;
}
.dc-motion-ready .horizon-tags span:hover { background: #d9fa841d; color: var(--forest); }

/* Fixed, non-interactive light and its slower shadow: only transforms change per frame. */
.dc-fluid-layer {
  position: fixed;
  inset: 0;
  z-index: 90;
  overflow: hidden;
  contain: strict;
  pointer-events: none;
  opacity: 0;
  transition: opacity .38s ease;
}
.dc-pointer-ready .dc-fluid-layer.dc-fluid-visible { opacity: 1; }
.dc-fluid-layer, .dc-fluid-layer * { pointer-events: none !important; }
.dc-fluid-light, .dc-fluid-shadow {
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 50%;
  will-change: transform;
}
.dc-fluid-light {
  width: 560px;
  height: 560px;
  background: radial-gradient(ellipse, #ffffff42 0%, #e4f4b51f 22%, #c9e5970d 42%, transparent 68%);
}
.dc-fluid-shadow {
  width: 440px;
  height: 440px;
  background: radial-gradient(ellipse, #21473212 0%, #234a3009 30%, transparent 68%);
}
.dc-fluid-dark .dc-fluid-light {
  background: radial-gradient(ellipse, #e0ff9c2b 0%, #ceef9a17 24%, #88b78008 45%, transparent 70%);
}
.dc-fluid-dark .dc-fluid-shadow {
  background: radial-gradient(ellipse, #00000023 0%, #020f0a12 32%, transparent 68%);
}
.dc-fluid-ripple {
  position: absolute;
  width: 68px;
  height: 68px;
  border: 1px solid #42683a3b;
  border-radius: 50%;
  box-shadow: 0 0 13px #c3df8d16, inset 0 0 10px #ffffff23;
  animation: dc-water-wake 1s cubic-bezier(.16,.65,.3,1) both;
}
.dc-fluid-ripple.dc-ripple-dark { border-color: #d9fa8459; box-shadow: 0 0 15px #d9fa8417, inset 0 0 12px #d9fa840d; }
@keyframes dc-water-wake {
  0% { transform: scale(.32); opacity: 0; }
  12% { opacity: .72; }
  100% { transform: scale(3.3); opacity: 0; }
}
@media (prefers-reduced-motion: reduce), (hover: none), (pointer: coarse) {
  .dc-fluid-layer { display: none !important; }
}

/* A small moving pool of light adds depth without obscuring the globe or copy. */
.dc-pointer-ready .hero { isolation: isolate; }
.dc-pointer-ready .hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(ellipse 460px 340px at var(--dc-light-x,70%) var(--dc-light-y,40%), #d9fa8410, #a8e28a04 48%, transparent 75%);
  opacity: 0;
  transition: opacity .65s ease;
}
.dc-pointer-ready .hero.dc-pointer-active::before { opacity: 1; }

/* Whole-panel perspective, with a separate illustration layer for parallax. */
.dc-pointer-ready .venture-visual,
.dc-pointer-ready .founder-art {
  transform: perspective(1100px) rotateX(var(--dc-rx,0deg)) rotateY(var(--dc-ry,0deg));
  transition: transform .65s cubic-bezier(.16,1,.3,1), box-shadow .65s;
  transform-origin: center;
}
.dc-pointer-ready .venture-visual.dc-pointer-active,
.dc-pointer-ready .founder-art.dc-pointer-active {
  transition-duration: .2s;
  box-shadow: 0 18px 36px -26px #10291f66;
}
.dc-pointer-ready .venture-visual::after,
.dc-pointer-ready .founder-art::after {
  content: '';
  position: absolute;
  z-index: 3;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(ellipse at var(--dc-light-x,50%) var(--dc-light-y,50%), #ffffff22, #ffffff04 38%, transparent 72%);
  opacity: 0;
  transition: opacity .5s;
}
.dc-pointer-ready .venture-visual.dc-pointer-active::after,
.dc-pointer-ready .founder-art.dc-pointer-active::after { opacity: 1; }
.dc-pointer-ready .venture-visual .visual-art {
  transform: translate3d(var(--dc-art-x,0px),var(--dc-art-y,0px),0) scale(1.04);
  transition: transform .6s cubic-bezier(.16,1,.3,1);
}
.dc-pointer-ready .venture-visual.dc-pointer-active .visual-art {
  transform: translate3d(var(--dc-art-x,0px),var(--dc-art-y,0px),0) scale(1.065);
  transition-duration: .25s;
}
.dc-pointer-ready .founder-art > svg {
  translate: var(--dc-art-x,0px) var(--dc-art-y,0px);
  transition: translate .6s cubic-bezier(.16,1,.3,1);
}
.dc-pointer-ready .founder-monogram {
  translate: calc(var(--dc-art-x,0px) * -.5) calc(var(--dc-art-y,0px) * -.5);
  transition: translate .6s cubic-bezier(.16,1,.3,1);
}

@media (prefers-reduced-motion: reduce), (hover: none), (pointer: coarse) {
  .dc-pointer-ready .venture-visual,
  .dc-pointer-ready .founder-art { transform: none; box-shadow: none; }
  .dc-pointer-ready .hero::before,
  .dc-pointer-ready .venture-visual::after,
  .dc-pointer-ready .founder-art::after { display: none; }
  .dc-pointer-ready .founder-art > svg,
  .dc-pointer-ready .founder-monogram { translate: none; }
  .dc-pointer-ready .venture-visual .visual-art { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .dc-motion-ready .button,
  .dc-motion-ready .button > span,
  .dc-motion-ready .text-link > span,
  .dc-motion-ready .header-contact > span { transition: none; transform: none; }
}
