/* MindShot Home v2.12.4 — deterministic hero entrance.
   The previous CSS-only headline sequence is overridden here and replayed
   through the Web Animations API after fonts/page paint, so the user actually sees it. */

.home-v214 .v211-reveal-piece{
  animation:none!important;
  opacity:1;
  transform:none;
  clip-path:none;
  filter:none;
  will-change:transform,opacity,clip-path,filter;
}
.home-v214 .v211-piece--4::before{animation:none!important;opacity:0!important}
.home-v214 .v21-word--solutions::after{animation:none!important;transform:scaleX(.72);transform-origin:left center}

/* JS arms the title only immediately before playback; this avoids invisible
   content when scripting is unavailable. */
.home-v214.v214-hero-armed .v211-piece--1,
.home-v214.v214-hero-armed .v211-piece--2,
.home-v214.v214-hero-armed .v211-piece--3,
.home-v214.v214-hero-armed .v211-piece--4{opacity:0}

.home-v214 .v2-title{position:relative}
.home-v214 .v2-title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-.18rem;
  width:min(34vw,510px);
  height:3px;
  background:linear-gradient(90deg,#36c5f0 0%,#5f7cff 35%,#9d4edd 68%,#e600a9 100%);
  transform:scaleX(0);
  transform-origin:left center;
  opacity:.96;
}
.home-v214.v214-hero-finished .v2-title::after{
  transform:scaleX(1);
  transition:transform .78s cubic-bezier(.16,1,.3,1);
}

/* A brief one-shot ink travel on ideas. */
.home-v214 .v211-piece--2{
  background-size:230% 100%;
  background-position:0% 50%;
}

/* Supporting copy waits for the title in the new JS sequence. */
.home-v214 .v211-hero-support,
.home-v214 .v211-hero-proof{
  animation:none!important;
}
.home-v214.v214-hero-armed .v211-hero-support,
.home-v214.v214-hero-armed .v211-hero-proof{opacity:0;transform:translate3d(0,12px,0)}
.home-v214.v214-hero-copy-in .v211-hero-support,
.home-v214.v214-hero-copy-in .v211-hero-proof{
  opacity:1;
  transform:none;
  transition:opacity .68s ease,transform .82s cubic-bezier(.16,1,.3,1);
}
.home-v214.v214-hero-copy-in .v211-hero-proof{transition-delay:.16s}

/* Keep the flight path quiet until the headline answers it. */
.home-v214 .v21-flight-path:not(.v21-flight-path--ghost){animation:none!important;stroke-dashoffset:1650}
.home-v214.v214-hero-flight .v21-flight-path:not(.v21-flight-path--ghost){animation:v21-path-draw 1.55s cubic-bezier(.2,.8,.2,1) forwards!important}
.home-v214 .v21-coord,.home-v214 .v21-cross,.home-v214 .v21-flight-node{animation:none!important;opacity:0}
.home-v214.v214-hero-flight .v21-coord,.home-v214.v214-hero-flight .v21-cross,.home-v214.v214-hero-flight .v21-flight-node{opacity:1;transition:opacity .55s ease .55s}

@media(max-width:680px){
  .home-v214 .v2-title::after{width:66vw;height:2px}
}

/* Reduced motion still gets a short non-spatial editorial fade rather than a
   completely static first paint. */
@media(prefers-reduced-motion:reduce){
  .home-v214 .v211-reveal-piece{opacity:1!important;transform:none!important;clip-path:none!important;filter:none!important}
  .home-v214.v214-hero-armed .v211-reveal-piece{opacity:1!important}
  .home-v214 .v21-flight-path:not(.v21-flight-path--ghost){stroke-dashoffset:0!important}
  .home-v214 .v21-coord,.home-v214 .v21-cross,.home-v214 .v21-flight-node{opacity:1!important}
  .home-v214 .v211-hero-support,.home-v214 .v211-hero-proof{opacity:1!important;transform:none!important}
}


/* V2.12.4 — hero restoration + fail-safe.
   Default state is fully visible; JS only hides pieces after all motion hooks exist. */
.home-v214 .v211-hero-meta,
.home-v214 .v211-hero-support,
.home-v214 .v211-hero-proof{opacity:1;transform:none}
.home-v214:not(.v214-hero-armed):not(.v214-hero-copy-in) .v211-hero-support,
.home-v214:not(.v214-hero-armed):not(.v214-hero-copy-in) .v211-hero-proof{opacity:1;transform:none}
.home-v214:not(.v214-hero-armed) .v211-reveal-piece{opacity:1;transform:none;clip-path:none;filter:none}
.home-v214.v214-hero-armed .v211-reveal-piece{opacity:0}
.home-v214.v214-hero-armed .v211-hero-support,
.home-v214.v214-hero-armed .v211-hero-proof{opacity:0;transform:translate3d(0,12px,0)}
.home-v214.v214-hero-flight .v21-flight-path:not(.v21-flight-path--ghost){stroke-dashoffset:1650;animation:v21-path-draw 1.55s cubic-bezier(.2,.8,.2,1) forwards!important}
.home-v214.v214-hero-finished .v21-coord,
.home-v214.v214-hero-finished .v21-cross,
.home-v214.v214-hero-finished .v21-flight-node{opacity:1}

@media(prefers-reduced-motion:reduce){
  /* Keep a gentle opacity cadence instead of disabling the user's explicitly requested hero effect. */
  .home-v214 .v211-reveal-piece{opacity:1!important;transform:none!important;clip-path:none!important;filter:none!important}
  .home-v214 .v211-hero-support,.home-v214 .v211-hero-proof{opacity:1!important;transform:none!important}
}
