/* The Script: stacking acts with progress lines. Desktop: pinned, acts shrink to label+title (400 ms) and stack at the top. */
.script{position:relative;height:calc(100vh * (var(--n) * .75 + .5))}
.script__pin{position:sticky;top:0;height:100vh;display:flex;align-items:center;overflow:hidden}
.script__in{width:100%}
.script__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:clamp(20px,3vh,36px);gap:20px}
.script__title{color:var(--aitio-yellow)}
.acts{display:grid}
.act{position:relative;padding-top:18px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);column-gap:clamp(24px,5vw,80px);transition:opacity var(--base) var(--ease),transform var(--base) var(--ease)}
.act__line{position:absolute;left:0;right:0;top:0;height:1px;background:rgba(249,249,249,.22);overflow:hidden}
.act__line i{display:block;height:100%;width:100%;background:var(--aitio-yellow);transform:scaleX(var(--p,0));transform-origin:left}
.act__head{display:grid;gap:6px;padding-bottom:18px}
.act__n{font-size:12px;color:rgba(249,249,249,.6)}
.act__t{font-size:clamp(26px,3.2vw,49px);font-weight:700;text-transform:uppercase;line-height:1.05;max-width:12ch;transition:font-size var(--base) var(--ease)}
.act__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--base) var(--ease);align-self:start;padding-top:22px}
.act__body>p{overflow:hidden;min-height:0;font-size:16px;line-height:1.55;color:rgba(249,249,249,.8);max-width:42ch}
.act.is-active .act__body{grid-template-rows:1fr}
.act.is-future{opacity:0;transform:translateY(24px)}
.act.is-done .act__head{grid-template-columns:auto 1fr;align-items:baseline;gap:14px;padding-bottom:12px}
.act.is-done .act__t{font-size:13px;font-weight:500;font-family:var(--font-body);letter-spacing:.02em;max-width:none}
.act.is-done .act__n{color:rgba(249,249,249,.6)}
.act.is-done .act__line i{transform:scaleX(1)}
@media (max-width:1023px),(prefers-reduced-motion:reduce){
	/* mobile: stacked normally, each line fills as its act scrolls */
	.script{height:auto}.script__pin{position:static;height:auto;display:block;padding-block:64px}
	.act{display:block;opacity:1!important;transform:none!important;padding-block:18px 36px}
	.act__body{grid-template-rows:1fr}.act__body>p{max-width:none}
	.act__t{max-width:none}
	.act.is-done .act__t{font-size:clamp(26px,7vw,36px);font-weight:700;font-family:var(--font-head)}
	.act.is-done .act__head{display:grid;grid-template-columns:none;padding-bottom:18px}
}
@media (prefers-reduced-motion:reduce){.act,.act__body{transition:none}}
