/* "How we treat it" timeline (only on pages with steps): dark panel, glowing numbers,
   a lime line from the first number to the last. treat-timeline.js adds the slide-in. */
.tl{position:relative;background:var(--g9);border-radius:var(--r-lg);padding:30px 24px;margin:0 0 1.2em;color:#d8e8df;overflow:hidden;isolation:isolate}
.tl::before{content:"";position:absolute;right:-80px;bottom:-120px;width:320px;height:320px;border-radius:50%;background:radial-gradient(closest-side,rgba(198,242,103,.18),transparent);z-index:-1}
.tl-top{display:flex;justify-content:space-between;align-items:baseline;gap:6px 12px;flex-wrap:wrap;margin-bottom:22px}
.tl-top b{color:#fff;font-weight:600;font-size:1.05rem}
.tl-top span{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--lime);font-weight:600}
.tl ol{list-style:none;margin:0;padding:0 0 0 46px;display:grid;gap:16px}
.tl li{position:relative;margin:0}
.tl li:not(:last-child)::before{content:"";position:absolute;left:-29px;top:32px;bottom:-48px;width:2px;background:rgba(198,242,103,.6)}
.tl .num{position:absolute;z-index:1;left:-46px;top:14px;width:36px;height:36px;border-radius:50%;background:var(--g9);border:2px solid var(--lime);color:var(--lime);display:grid;place-items:center;font-weight:700;font-size:.85rem;box-shadow:0 0 0 6px rgba(198,242,103,.12),0 0 18px rgba(198,242,103,.45)}
.tl .card{background:var(--card);color:var(--text);border-radius:16px;padding:16px 18px;display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:start}
.tl .ic{grid-row:1 / span 3;width:44px;height:44px;border-radius:12px;background:var(--lime-soft);color:var(--g7);display:grid;place-items:center}
.tl .ic svg{width:22px;height:22px}
.tl .card>:not(.ic){grid-column:2;min-width:0}
.tl .when{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--g7)}
.tl .card b{display:block;color:var(--ink);font-size:1.08rem;font-weight:600;line-height:1.3;margin-top:2px}
.tl .card p{margin:2px 0 0;font-size:.93rem;line-height:1.6}
.tl li{transition:opacity .5s ease,transform .5s ease}
.tl.js li.pre{opacity:0;transform:translateY(14px)}
@media (max-width:520px){
  .tl{padding:24px 16px}
  .tl ol{padding-left:40px}
  .tl .num{left:-40px;width:32px;height:32px;font-size:.8rem}
  .tl li:not(:last-child)::before{left:-25px;top:30px;bottom:-46px}
  .tl .card{padding:14px;gap:4px 12px}
  .tl .ic{width:38px;height:38px}
}
@media (prefers-reduced-motion:reduce){.tl li{transition:none}.tl.js li.pre{opacity:1;transform:none}}
