/* Pohyb homepage · 23. 9. 2026
   Klidový stav je výchozí a úplný: bez JS i pod „Omezit pohyb" je všechno vidět.
   Pohyb přidává jen html.motion (js/motion.js), a to výhradně transformací a opacitou. */

/* ── statické linky, které pohyb jen dokresluje ───────────────────────── */
.market-path li::before{content:'';position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--brass-bright);transform-origin:left}
.home-stops details{position:relative}
/* Erwen · svislý úsek osy od uzlu k dalšímu uzlu (geometrie v home-art.css) */
.home-stops details::before{content:'';position:absolute;left:0;top:-1px;width:1px;height:1px;background:var(--brass);transform-origin:top}
.home-stops strong{display:inline-block}
/* metodika · kosočtverečný uzel a vlasová linka pod italic číslicí */
#rail .phase-index::before{content:'';position:absolute;left:0;bottom:-4px;width:9px;height:9px;background:#A78237;transform:rotate(45deg)}
#rail .phase-index::after{content:'';position:absolute;left:14px;right:0;bottom:0;height:1px;background:linear-gradient(90deg,rgba(198,162,75,.7),rgba(198,162,75,0));transform-origin:left}
.manifest-line,.home-rules article{position:relative}
.manifest-line::before,.home-rules article::before{content:'';position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--brass);transform-origin:left;transform:scaleX(0)}


@media(prefers-reduced-motion:no-preference){
  /* hover · informace se zvýrazní, nic neskáče */
  @media(hover:hover){
    #rail .phase-index{transition:color 240ms var(--ease)}
    #rail .phase-index::before{transition:transform 480ms cubic-bezier(.34,1.4,.5,1)}
    #rail .step:hover .phase-index,#rail .step:focus-within .phase-index{color:var(--brass-bright)}
    #rail .step:hover .phase-index::before,#rail .step:focus-within .phase-index::before{transform:rotate(135deg) scale(1.2)}
    .manifest-line::before,.home-rules article::before{transition:transform 480ms var(--ease)}
    .manifest-line:hover::before,.home-rules article:hover::before{transform:scaleX(1)}
    .home-stops strong{transition:transform 240ms var(--ease)}
    .home-stops summary:hover strong{transform:translateX(6px)}
    .market-path li:not(:last-child)::after{transition:transform 240ms var(--ease),opacity 480ms var(--ease)}
    .market-path li:hover::after{transform:translateX(6px)}
  }

  /* ── rodokmen se kreslí po generacích: kůň, 2, 4, 8 ───────────────── */
  html.motion .lineage:not(.is-in) .lineage-lines path{stroke-dashoffset:360}
  html.motion .lineage-nodes circle{transform-box:fill-box;transform-origin:center}
  html.motion .lineage:not(.is-in) .lineage-nodes circle,
  html.motion .lineage:not(.is-in) .lineage-labels span,
  html.motion .lineage:not(.is-in) .lineage-branch-labels text{opacity:0}
  html.motion .lineage:not(.is-in) .lineage-nodes circle{transform:scale(.3)}
  html.motion .lineage:not(.is-in) .lineage-labels span{transform:translateY(6px)}
  html.motion .lineage.is-drawing .lineage-lines path{transition:stroke-dashoffset 900ms var(--ease)}
  html.motion .lineage.is-drawing .lineage-lines [data-gen='2']{transition-delay:420ms}
  html.motion .lineage.is-drawing .lineage-lines [data-gen='3']{transition-delay:840ms}
  html.motion .lineage.is-drawing .lineage-nodes circle{transition:opacity 360ms var(--ease),transform 480ms var(--ease)}
  html.motion .lineage.is-drawing .lineage-labels span,
  html.motion .lineage.is-drawing .lineage-branch-labels text{transition:opacity 480ms var(--ease),transform 480ms var(--ease)}
  html.motion .lineage.is-drawing .lineage-nodes [data-gen='1'],html.motion .lineage.is-drawing .lineage-labels span:nth-child(2){transition-delay:600ms}
  html.motion .lineage.is-drawing .lineage-nodes [data-gen='2'],html.motion .lineage.is-drawing .lineage-labels span:nth-child(3){transition-delay:1020ms}
  html.motion .lineage.is-drawing .lineage-nodes [data-gen='3'],html.motion .lineage.is-drawing .lineage-labels span:nth-child(4){transition-delay:1440ms}
  html.motion .lineage.is-drawing .lineage-branch-labels text{transition-delay:1200ms}

  /* ── trh: tři kroky se propojí zleva doprava ─────────────────────── */
  html.motion .market-path:not(.is-in) li::before{transform:scaleX(0)}
  html.motion .market-path:not(.is-in) li:not(:last-child)::after{opacity:0;transform:translateX(-10px)}
  html.motion .market-path:not(.is-in) li>span::before{opacity:0;transform:rotate(45deg) scale(.3)}
  html.motion .market-path.is-drawing li>span::before{transition:opacity 360ms var(--ease),transform 480ms cubic-bezier(.34,1.4,.5,1)}
  html.motion .market-path.is-drawing li:nth-child(2)>span::before{transition-delay:420ms}
  html.motion .market-path.is-drawing li:nth-child(3)>span::before{transition-delay:840ms}
  html.motion .market-path.is-drawing li::before{transition:transform 900ms var(--ease)}
  html.motion .market-path.is-drawing li::after{transition:opacity 480ms var(--ease),transform 480ms var(--ease)}
  html.motion .market-path.is-drawing li:nth-child(1)::after{transition-delay:620ms}
  html.motion .market-path.is-drawing li:nth-child(2)::before{transition-delay:420ms}
  html.motion .market-path.is-drawing li:nth-child(2)::after{transition-delay:1040ms}
  html.motion .market-path.is-drawing li:nth-child(3)::before{transition-delay:840ms}

  /* ── Erwen: zastávky přípravy naskočí v pořadí let ───────────────── */
  html.motion .home-stops:not(.is-in) details::before{transform:scaleY(0)}
  html.motion .home-stops:not(.is-in) summary::before{opacity:0;transform:scale(.3)}
  html.motion .home-stops.is-drawing summary::before{transition:opacity 360ms var(--ease),transform 480ms cubic-bezier(.34,1.4,.5,1)}
  html.motion .home-stops.is-drawing details:nth-child(2) summary::before{transition-delay:300ms}
  html.motion .home-stops.is-drawing details:nth-child(3) summary::before{transition-delay:600ms}
  html.motion .home-stops.is-drawing details::before{transition:transform 600ms var(--ease) 120ms}
  html.motion .home-stops.is-drawing details:nth-child(2)::before{transition-delay:420ms}
  html.motion .home-stops.is-drawing details:nth-child(3)::before{transition-delay:500ms}
}

/* ── motto · znak, prstenec a noční nebe se odkryjí při prvním vstupu (Filip 28. 9.) ── */
@media(prefers-reduced-motion:no-preference){
  html.motion .home-motto-sky{transition:opacity 1.8s var(--ease),transform 2.6s var(--ease)}
  html.motion .home-motto:not(.is-in) .home-motto-sky{opacity:0;transform:scale(1.05)}
  html.motion .home-motto .home-motto-mark{transition:opacity .9s var(--ease) .15s,transform 1.2s cubic-bezier(.34,1.3,.5,1) .15s}
  html.motion .home-motto:not(.is-in) .home-motto-mark{opacity:0;transform:scale(.8)}
  html.motion .home-motto .home-motto-halo{transition:opacity 1.2s var(--ease) .45s,transform 1.6s var(--ease) .45s}
  html.motion .home-motto:not(.is-in) .home-motto-halo{opacity:0;transform:translate(-50%,-50%) scale(.72) rotate(-50deg)}
  html.motion .home-motto .home-motto-latin{transition:opacity .9s var(--ease) .35s,transform 1.1s var(--ease) .35s}
  html.motion .home-motto:not(.is-in) .home-motto-latin{opacity:0;transform:translateY(24px)}
  html.motion .home-motto:not(.is-in) .home-motto-shine::before{animation:none}
}
