/* LEADGEND v2: all visuals are the original Hero's DOM elements. */
.lg-hero-track { position: relative; }
@media (prefers-reduced-motion: no-preference) {
  /* FIX: the pin was `padding-bottom` + a JS-written translate3d, so it lagged the
     scroll (the transform is applied from a scroll handler, never by the compositor).
     Native sticky pins on the compositor — same geometry, no lag, no leftover offset. */
  /* The runway must live INSIDE the track's content box: a sticky child can only travel
     within its parent's content box, so `padding-bottom` gave it a range of zero and the
     pin silently never engaged. A block pseudo-element is the runway instead. */
  .lg-hero-track.lg-enabled::after { content: ''; display: block; height: var(--lg-runway, 0px); }
  .lg-hero-track.lg-enabled > #home.hero { position: sticky; top: var(--lg-sticky-top, 0px); }
  #home.hero .lg-title-line { display: inline-block; transform-origin: 50% 60%; }
  #home.hero .lg-word {
    display: inline-block; transform-origin: 50% 100%;
    animation: lg-word-arrive 1350ms cubic-bezier(.16, 1, .3, 1) both;
    animation-delay: calc(70ms + var(--word) * 105ms);
  }
  #home.hero .gold-text.lg-title-line { background: none; -webkit-text-fill-color: var(--gold); }
  #home.hero .gold-text .lg-word {
    background: linear-gradient(112deg, var(--gold-dk) 0%, var(--gold) 20%, var(--gold-lt) 38%, #fff0b8 45%, var(--gold-lt) 51%, var(--gold) 64%, var(--gold-dk) 100%);
    background-size: 260% 100%; background-position: 100% 50%;
    background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    animation-name: lg-word-arrive, lg-gold-pass;
    animation-duration: 1350ms, 2100ms;
    animation-delay: calc(70ms + var(--word) * 105ms), 650ms;
    animation-timing-function: cubic-bezier(.16, 1, .3, 1), cubic-bezier(.2, .6, .3, 1);
    animation-fill-mode: both, both;
  }
  #home.hero .hero-badge, #home.hero .hero-sub, #home.hero .typewriter-line, #home.hero .hero-btns {
    animation: lg-copy-arrive 1100ms cubic-bezier(.16, 1, .3, 1) both;
  }
  #home.hero .hero-badge { animation-delay: 100ms; }
  #home.hero .hero-sub { animation-delay: 490ms; }
  #home.hero .typewriter-line { animation-delay: 570ms; }
  #home.hero .hero-btns { animation-delay: 660ms; }
  #home.hero .hero-stats {
    transform-origin: 50% 50%;
    animation: lg-panel-arrive 1650ms cubic-bezier(.16, 1, .3, 1) 490ms both;
  }
  #home.hero .hstat { animation: lg-cell-arrive 1250ms cubic-bezier(.16, 1, .3, 1) both; }
  #home.hero .hstat:nth-child(1) { --cell-x: -100px; --cell-r: 28deg; animation-delay: 610ms; }
  #home.hero .hstat:nth-child(2) { --cell-x: -32px; --cell-r: 12deg; animation-delay: 700ms; }
  #home.hero .hstat:nth-child(3) { --cell-x: 32px; --cell-r: -12deg; animation-delay: 790ms; }
  #home.hero .hstat:nth-child(4) { --cell-x: 100px; --cell-r: -28deg; animation-delay: 880ms; }
  #home.hero .hero-grid { transform-origin: 50% 68%; animation: lg-grid-arrive 2100ms cubic-bezier(.16, 1, .3, 1) both; }
  #home.hero.lg-motion .lg-title-line {
    transform: perspective(1200px) translate3d(var(--lg-x, 0px), var(--lg-y, 0px), 0) rotateY(var(--lg-ry, 0deg)) rotateZ(var(--lg-rz, 0deg)) scale(var(--lg-scale, 1));
    opacity: var(--lg-alpha, 1); filter: blur(var(--lg-blur, 0px));
  }
  #home.hero.lg-motion .hero-badge, #home.hero.lg-motion .hero-sub,
  #home.hero.lg-motion .typewriter-line, #home.hero.lg-motion .hero-btns, #home.hero.lg-motion .hero-stats {
    translate: var(--lg-x, 0px) var(--lg-y, 0px); scale: var(--lg-scale, 1);
  }
  #home.hero.lg-motion.lg-entered .hero-badge, #home.hero.lg-motion.lg-entered .hero-sub,
  #home.hero.lg-motion.lg-entered .typewriter-line, #home.hero.lg-motion.lg-entered .hero-btns {
    animation: none; opacity: var(--lg-alpha, 1); filter: blur(var(--lg-blur, 0px));
  }
  #home.hero.lg-motion.lg-entered .hero-stats {
    animation: none; transform: perspective(1300px) rotateX(var(--lg-rx, 0deg));
    box-shadow: 0 35px 95px rgba(0, 0, 0, var(--lg-shadow, 0)), 0 0 90px rgba(201, 162, 39, var(--lg-aura, 0));
    border-color: rgba(201, 162, 39, var(--lg-border, .14));
  }
  #home.hero.lg-motion.lg-entered .hero-grid {
    animation: none;
    transform: perspective(1050px) translate3d(var(--lg-x, 0px), var(--lg-y, 0px), 0) rotateX(var(--lg-rx, 0deg)) rotateZ(var(--lg-rz, 0deg)) scale(var(--lg-scale, 1));
    opacity: var(--lg-alpha, 1);
  }
  #home.hero.lg-motion .orb { translate: var(--lg-x, 0px) var(--lg-y, 0px); scale: var(--lg-scale, 1); }
  #home.hero.lg-motion .hstat-num { scale: var(--lg-number-scale, 1); }
  #home.hero.lg-in-view .lg-title-line, #home.hero.lg-in-view .hero-stats, #home.hero.lg-in-view .hero-grid { will-change: transform; }
  #home.hero .hero-btns:focus-within { opacity: 1 !important; filter: none !important; }
  @keyframes lg-word-arrive {
    from { opacity: 0; filter: blur(9px); transform: perspective(1000px) translate3d(calc(var(--side) * 72px), 125px, -310px) rotateX(78deg) rotateZ(calc(var(--side) * 9deg)) scale(1.22); }
    to { opacity: 1; filter: blur(0); transform: perspective(1000px) translate3d(0, 0, 0) rotateX(0deg) rotateZ(0deg) scale(1); }
  }
  @keyframes lg-gold-pass { from { background-position: 100% 50%; } to { background-position: 0% 50%; } }
  @keyframes lg-copy-arrive {
    from { opacity: 0; filter: blur(5px); transform: translateY(40px); clip-path: inset(100% -10% -30%); }
    to { opacity: 1; filter: blur(0); transform: translateY(0); clip-path: inset(-30% -10% -30%); }
  }
  @keyframes lg-panel-arrive {
    from { opacity: 0; transform: perspective(1200px) translate3d(0, 94px, -280px) rotateX(58deg) scale(.92); }
    to { opacity: 1; transform: perspective(1200px) translate3d(0, 0, 0) rotateX(0deg) scale(1); }
  }
  @keyframes lg-cell-arrive {
    from { opacity: 0; transform: perspective(850px) translate3d(var(--cell-x), 42px, -130px) rotateY(var(--cell-r)); }
    to { opacity: 1; transform: perspective(850px) translate3d(0, 0, 0) rotateY(0deg); }
  }
  @keyframes lg-grid-arrive {
    from { opacity: 0; transform: perspective(1000px) translateY(150px) rotateX(74deg) scale(1.6); }
    to { opacity: 1; transform: perspective(1000px) translateY(0) rotateX(0deg) scale(1); }
  }
  @media (max-width: 900px), (max-height: 639px) {
    #home.hero .lg-word { animation-name: lg-word-arrive-mobile; animation-duration: 1100ms; }
    #home.hero .gold-text .lg-word { animation-name: lg-word-arrive-mobile, lg-gold-pass; animation-duration: 1100ms, 2100ms; }
    #home.hero .hero-stats { animation-duration: 1300ms; }
    @keyframes lg-word-arrive-mobile {
      from { opacity: 0; filter: blur(4px); transform: perspective(1000px) translate3d(calc(var(--side) * 24px), 60px, -120px) rotateX(45deg); }
      to { opacity: 1; filter: blur(0); transform: perspective(1000px) translate3d(0, 0, 0) rotateX(0deg); }
    }
  }
}
#home.hero.lg-skip-entry .lg-word, #home.hero.lg-skip-entry .hero-badge,
#home.hero.lg-skip-entry .hero-sub, #home.hero.lg-skip-entry .typewriter-line,
#home.hero.lg-skip-entry .hero-btns, #home.hero.lg-skip-entry .hero-stats,
#home.hero.lg-skip-entry .hstat, #home.hero.lg-skip-entry .hero-grid { animation: none; }
@media (prefers-reduced-motion: reduce) {
  #home.hero .orb, #home.hero .badge-dot, #home.hero .cursor { animation: none; }
}
