/* finale options */
.fin{position:relative;overflow:hidden}
.fin .in{max-width:760px;margin:0 auto}
.fcta{margin-top:26px}

/* 1 · line by line, on plum */
.f1{background:#ECD0CE;color:#3F2A33;margin:0 18px 18px;border-radius:22px;padding:96px 44px 100px}
.f1 .ln{font-size:34px;letter-spacing:-.045em;line-height:1.18;opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s ease}
.f1 .ln+.ln{margin-top:22px}
.f1 .hl{color:#634150}
.f1 .sm{font-size:22px;letter-spacing:-.03em;color:#4E3A43}
.f1 .cta{background:#634150;color:#fff}
.f1.go .ln{opacity:1;transform:none}
.f1 .ln:first-child{font-size:24px;letter-spacing:-.03em;line-height:1.35;color:#4E3A43}
.f1 .br{font-size:30px}
.f1.go .ln:nth-child(2){transition-delay:.9s}
.f1.go .ln:nth-child(3){transition-delay:1.8s}
.f1.go .ln:nth-child(4){transition-delay:2.7s}
.f1.go .ln:nth-child(5){transition-delay:3.2s}

/* 2 · the pieces fall into place */
.f2{padding:90px 44px 110px;margin:0 18px 18px}
.f2 .fk{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.fts{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px}
.ft{background:var(--bg);border-radius:14px;padding:14px 14px 12px;min-height:118px;display:flex;flex-direction:column;gap:6px;opacity:0;transform:translateY(22px) scale(.96);transition:opacity .6s ease var(--d),transform .6s cubic-bezier(.2,.8,.2,1.2) var(--d)}
.ft b{font-size:11px;font-weight:600;letter-spacing:.12em;opacity:.7}
.ft span{font-size:16px;letter-spacing:-.03em;line-height:1.15}
.ft i{margin-top:auto;font-style:normal;font-size:11px;opacity:.7}
.ft i:before{content:"✓"}
.fm{margin-top:10px;border-radius:14px;padding:20px 22px;box-shadow:inset 0 0 0 1.5px rgba(63,42,51,.35);background-image:linear-gradient(#634150,#634150);background-size:0% 100%;background-repeat:no-repeat;transition:background-size 1.1s ease 1.3s,color .4s ease 1.9s,box-shadow .4s ease 1.3s}
.fm p{font-size:28px;letter-spacing:-.045em;line-height:1.2;margin-top:6px}
.fl{font-size:22px;letter-spacing:-.03em;margin-top:26px;opacity:0;transition:opacity .8s ease 2.3s}
.f2 .fcta{opacity:0;transition:opacity .8s ease 2.6s}
.f2.go .ft{opacity:1;transform:none}
.f2.go .fm{background-size:100% 100%;color:#fff;box-shadow:none}
.f2.go .fm .fk{color:rgba(255,255,255,.7)}
.f2.go .fl,.f2.go .fcta{opacity:1}

/* 3 · statement with a moving line of rings */
.f3{padding:96px 0 110px}
.f3 .in{padding:0 44px}
.f3 .big{font-size:34px;letter-spacing:-.045em;line-height:1.18}
.f3 .mid{font-size:34px;letter-spacing:-.045em;line-height:1.18;color:#AC8581;margin-top:18px}
.mq{margin:40px 0 34px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mqt{display:flex;gap:10px;width:max-content;animation:mq 60s linear infinite}
.mqt img{width:84px;height:84px;object-fit:cover;border-radius:14px;background:#F2F1EF}
@keyframes mq{to{transform:translateX(-50%)}}
.f3 .fl{opacity:1;margin-top:0}
@media (prefers-reduced-motion:reduce){.mqt{animation:none}.f1 .ln,.ft,.fl,.f2 .fcta{transition:none!important;opacity:1;transform:none}}
@media (max-width:900px){.fts{grid-template-columns:1fr 1fr}.f1{padding:56px 22px}.f1 .ln,.f3 .big,.f3 .mid{font-size:26px}}
