/* Small, one-time entrances preserve the quiet editorial rhythm. */
.scene-reveal{opacity:0;transform:translateY(18px);transition:opacity .85s cubic-bezier(.2,.65,.3,1),transform .85s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}
.scene-reveal.is-visible{opacity:1;transform:none}
.hero h1.scene-reveal{transition-duration:1.1s;--reveal-delay:100ms}
.hero-bottom.scene-reveal{--reveal-delay:230ms}
.flow-track{border-top:0}
.flow-track:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:#76909a;transform-origin:left;transition:transform 1.1s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms)}
.flow li.scene-reveal:not(.is-visible) .flow-track:before{transform:scaleX(0)}
.flow li.is-visible .flow-track:before{transform:scaleX(1)}
.flow-track i{transition:background .4s,border-color .4s}
.issues li,.steps li{position:relative}
.issues li:after,.steps li:after{content:"";position:absolute;left:0;top:-1px;width:36px;height:1px;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .65s ease .25s}
.issues li.is-visible:after,.steps li.is-visible:after{transform:scaleX(1)}
.text-link{position:relative}
.text-link:after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.text-link:hover:after,.text-link:focus-visible:after{transform:scaleX(1)}
.portrait:after{content:"";position:absolute;inset:12px;border:1px solid rgba(18,55,70,.13);pointer-events:none}
@media(max-width:560px){.scene-reveal{transform:translateY(12px)}.flow-track{border-left:0}.flow-track:before{height:100%;width:1px;right:auto;transform-origin:top}.flow li.scene-reveal:not(.is-visible) .flow-track:before{transform:scaleY(0)}.flow li.is-visible .flow-track:before{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){.scene-reveal{opacity:1;transform:none;transition:none}.flow li.scene-reveal .flow-track:before,.issues li:after,.steps li:after{transform:none;transition:none}.text-link:after{transition:none}}
