.ab-timeline{--ab-navy:#0f1b2d;--ab-blue:#2e7bd6;--ab-bg-soft:#f3f5f8;--ab-line:#e8ecf1;--ab-text:#2c3340;font-family:Inter,system-ui,sans-serif;background:#fff;color:var(--ab-text);padding:48px 16px 44px;-webkit-font-smoothing:antialiased;letter-spacing:0}
.ab-timeline *{box-sizing:border-box}
.ab-timeline__wrap{max-width:1200px;margin:0 auto}
.ab-timeline__title{margin:0 0 28px;font-size:24px;line-height:1.12;font-weight:700;letter-spacing:-.025em;color:#0a1628}
.ab-timeline__grid{display:flex;flex-direction:column;gap:40px}
.ab-timeline__steps{position:relative}
.ab-timeline__step{position:relative;padding:0 0 36px 46px}
.ab-timeline__step:last-child{padding-bottom:0}
.ab-timeline__step::before{content:"";position:absolute;left:9px;top:8px;width:10px;height:10px;border-radius:50%;background:#0a1628}
.ab-timeline__step::after{content:"";position:absolute;left:14px;top:22px;bottom:-6px;width:1px;background:#d9dde2}
.ab-timeline__step:last-child::after{display:none}
.ab-timeline__badge{display:block;margin:0 0 5px;font-size:11px;line-height:1.3;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#555f6a}
.ab-timeline__step-title{margin:0 0 8px;font-size:20px;line-height:1.3;font-weight:600;letter-spacing:-.02em;color:#0a1628}
.ab-timeline__desc{margin:0;font-size:16px;line-height:1.65;color:#454e59}
.ab-timeline__image{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:1.2/1;background:#eceef1}
.ab-timeline__image img{width:100%;height:100%;object-fit:cover;display:block}
.ab-timeline__label{position:absolute;bottom:10px;padding:3px 7px;border-radius:5px;background:rgba(255,255,255,.92);font-size:10px;line-height:1.3;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#0a1628}
.ab-timeline__label--l{left:10px}
.ab-timeline__label--r{left:calc(50% + 10px)}
@media (min-width:990px){
 .ab-timeline{padding:56px 0}
 .ab-timeline__title{font-size:34px;margin-bottom:40px;letter-spacing:-.02em}
 .ab-timeline__grid{flex-direction:row;gap:64px;align-items:flex-start}
 .ab-timeline__steps{flex:1 1 0}
 .ab-timeline__image{flex:0 0 538px;width:538px;aspect-ratio:538/449;border-radius:10px}
 .ab-timeline__step{padding-left:30px;padding-bottom:36px}
 .ab-timeline__step::before{left:0;top:5px;width:10px;height:10px}
 .ab-timeline__step::after{left:4.5px;top:18px}
 .ab-timeline__desc{line-height:1.65;max-width:520px}
}
@media (min-width:750px){.ab-timeline__wrap{padding-left:40px;padding-right:40px}}
