.bf-tl{--g:#6bad0d;--gd:#4c8208;--ink:#1f2a17;--road:#2b3324;background:linear-gradient(180deg,#fbfaf4 0%,#f3f6e9 100%);padding:96px 20px 104px;overflow:hidden;color:var(--ink)}
.bf-tl *{box-sizing:border-box}
.bf-tl-in{max-width:1240px;margin:0 auto}
.bf-tl-head{text-align:center;max-width:680px;margin:0 auto 72px}
.bf-tl-eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gd);background:rgba(107,173,13,.12);padding:6px 16px;border-radius:99px;margin-bottom:18px}
[dir=rtl] .bf-tl-eyebrow{letter-spacing:0}
.bf-tl-head h2{font-size:clamp(30px,4.4vw,46px);line-height:1.15;margin:0 0 16px;color:var(--ink)}
.bf-tl-head p{font-size:17px;line-height:1.6;margin:0;color:#56604b}
.bf-tl-road{list-style:none;margin:0;padding:0;position:relative;display:flex;flex-direction:column;--p:0}
.bf-tl-line{position:absolute;top:0;bottom:0;left:50%;width:18px;margin-left:-9px;border-radius:99px;background:var(--road);box-shadow:0 0 0 4px rgba(43,51,36,.08);pointer-events:none}
.bf-tl-line::before{content:"";position:absolute;left:50%;top:10px;bottom:10px;width:2px;margin-left:-1px;background:repeating-linear-gradient(180deg,rgba(255,255,255,.55) 0 10px,transparent 10px 20px)}
.bf-tl-fill{position:absolute;left:0;right:0;top:0;height:calc(var(--p)*100%);border-radius:99px;background:linear-gradient(180deg,#8ad11b,var(--g));box-shadow:0 0 14px rgba(107,173,13,.55)}
.bf-tl-fill::after{content:"";position:absolute;left:50%;top:10px;bottom:10px;width:2px;margin-left:-1px;background:repeating-linear-gradient(180deg,rgba(255,255,255,.8) 0 10px,transparent 10px 20px)}
.bf-tl-car{position:absolute;left:50%;top:0;transform:translateY(var(--py,0px));will-change:transform;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:#fff center/100% no-repeat;border:3px solid var(--g);box-shadow:0 8px 20px rgba(0,0,0,.28),0 0 0 7px rgba(107,173,13,.25);z-index:3}
.bf-tl-item{position:relative;display:grid;grid-template-columns:1fr 1fr;column-gap:84px;margin:0 0 56px}
.bf-tl-item.has-year{padding-top:46px}
.bf-tl-item:last-child{margin-bottom:0}
.bf-tl-card{grid-row:1;position:relative;background:#fff;border-radius:22px;box-shadow:0 14px 40px -18px rgba(31,42,23,.35);border:1px solid rgba(31,42,23,.06);opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.bf-tl-item:nth-child(even) .bf-tl-card{grid-column:1}
.bf-tl-item:nth-child(odd) .bf-tl-card{grid-column:2}
.bf-tl-item.in .bf-tl-card{opacity:1;transform:none}
.bf-tl-card::before{content:"";position:absolute;top:34px;width:20px;height:20px;background:inherit;transform:rotate(45deg);border:inherit;z-index:2}
.bf-tl-item:nth-child(even) .bf-tl-card::before{right:-11px;border-width:1px 1px 0 0}
.bf-tl-item:nth-child(odd) .bf-tl-card::before{left:-11px;border-width:0 0 1px 1px}
[dir=rtl] .bf-tl-item:nth-child(even) .bf-tl-card::before{right:auto;left:-11px;border-width:0 0 1px 1px}
[dir=rtl] .bf-tl-item:nth-child(odd) .bf-tl-card::before{left:auto;right:-11px;border-width:1px 1px 0 0}
.bf-tl-img{border-radius:22px 22px 0 0;overflow:hidden;aspect-ratio:2/1;background:#e9eddc;position:relative;z-index:3}
.bf-tl-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.bf-tl-card:hover .bf-tl-img img{transform:scale(1.05)}
.bf-tl-body{padding:22px 26px 26px;position:relative;z-index:3;border-radius:22px}
.bf-tl-card:has(.bf-tl-img) .bf-tl-body{border-radius:0 0 22px 22px}
.bf-tl-date{display:inline-block;font-size:13px;font-weight:700;color:var(--gd);background:rgba(107,173,13,.14);padding:4px 12px;border-radius:99px;margin-bottom:10px}
.bf-tl-body h3{font-size:21px;line-height:1.3;margin:0 0 8px;color:var(--ink)}
.bf-tl-body p{font-size:15.5px;line-height:1.65;margin:0;color:#56604b}
.bf-tl-dot{position:absolute;left:50%;top:46px;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:#fff;border:4px solid #b9c2ab;z-index:2;transition:border-color .4s,background .4s,box-shadow .4s}
.bf-tl-item.has-year .bf-tl-dot{top:92px}
.bf-tl-item.passed .bf-tl-dot{border-color:var(--g);background:var(--g);box-shadow:0 0 0 6px rgba(107,173,13,.22)}
.bf-tl-year{position:absolute;left:50%;top:0;transform:translateX(-50%);z-index:4;background:var(--ink);color:#fff;font-weight:800;font-size:17px;letter-spacing:.06em;padding:7px 20px;border-radius:99px;box-shadow:0 8px 20px -8px rgba(0,0,0,.5);transition:background .4s}
.bf-tl-item.passed .bf-tl-year{background:var(--gd)}
.bf-tl-item.is-highlight .bf-tl-card{background:linear-gradient(150deg,#3f7a08,#6bad0d);border-color:transparent}
.bf-tl-item.is-highlight h3,.bf-tl-item.is-highlight p{color:#fff}
.bf-tl-item.is-highlight .bf-tl-date{background:rgba(255,255,255,.2);color:#fff}
.bf-tl-item.is-today .bf-tl-card{background:var(--ink);border-color:transparent}
.bf-tl-item.is-today h3,.bf-tl-item.is-today p{color:#fff}
.bf-tl-item.is-today .bf-tl-date{background:#f8e344;color:#3a3300}
.bf-tl-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.bf-tl-chips span{font-size:13px;font-weight:600;padding:5px 14px;border-radius:99px;background:rgba(255,255,255,.14);color:#fff}
@media (max-width:820px){
  .bf-tl-car{width:46px;height:46px;margin:-23px 0 0 -23px}
  .bf-tl{padding:68px 16px 76px}
  .bf-tl-head{margin-bottom:48px}
  .bf-tl-line{left:22px;margin-left:-9px}
  [dir=rtl] .bf-tl-line{left:auto;right:22px;margin-left:0;margin-right:-9px}
  .bf-tl-item{display:block;padding-inline-start:60px;margin-bottom:40px}
  .bf-tl-item.has-year{padding-top:44px}
  .bf-tl-dot{left:22px;top:42px}
  [dir=rtl] .bf-tl-dot{left:auto;right:22px;margin-left:0;margin-right:-11px}
  .bf-tl-item.has-year .bf-tl-dot{top:86px}
  .bf-tl-year{left:60px;transform:none;font-size:15px;padding:6px 16px}
  [dir=rtl] .bf-tl-year{left:auto;right:60px}
  .bf-tl-card::before{top:30px;width:16px;height:16px}
  .bf-tl-item:nth-child(even) .bf-tl-card::before,.bf-tl-item:nth-child(odd) .bf-tl-card::before{left:-9px;right:auto;border-width:0 0 1px 1px}
  [dir=rtl] .bf-tl-item:nth-child(even) .bf-tl-card::before,[dir=rtl] .bf-tl-item:nth-child(odd) .bf-tl-card::before{left:auto;right:-9px;border-width:1px 1px 0 0}
  .bf-tl-body{padding:18px 20px 22px}
  .bf-tl-body h3{font-size:19px}
}
@media (prefers-reduced-motion:reduce){.bf-tl-card{opacity:1;transform:none;transition:none}.bf-tl-img img{transition:none}}
@media (min-width:821px){.bf-tl-item{margin-bottom:0}}

.bf-tl{width:100%;max-width:none;align-self:stretch}
