.fp { padding-block: clamp(36px, 5vw, 66px); }
.fp__top { max-inline-size: 62ch; margin-block-end: clamp(26px, 3.5vw, 44px); }
.fp__route { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.fp__leg { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: clamp(14px, 2vw, 24px); padding-block: clamp(18px, 2.4vw, 26px); border-block-end: 1px solid var(--line); align-items: start; }
.fp__num { font-family: var(--display); font-size: 34px; color: #fff; background: var(--red); inline-size: 56px; block-size: 56px; display: grid; place-items: center; }
.fp__leg b { font-family: var(--display); font-size: clamp(19px, 2.1vw, 24px); text-transform: uppercase; display: block; margin-block-end: 6px; }
.fp__leg p { margin: 0; color: var(--ink-3); }
.fp__grid { margin-block-start: clamp(32px, 4.5vw, 54px); }
.fp__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: clamp(12px, 1.8vw, 18px); }
.fp__cards div { background: var(--white); border: 1px solid var(--line); border-block-start: 4px solid var(--ink); padding: clamp(16px, 2vw, 22px); }
.fp__cards b { font-family: var(--display); font-size: 18px; text-transform: uppercase; display: block; margin-block-end: 6px; }
.fp__cards p { margin: 0; font-size: 14.5px; color: var(--ink-3); }
.fp__note { margin-block-start: clamp(30px, 4vw, 50px); background: var(--ink); color: #c9ced4; padding: clamp(22px, 3vw, 34px); border-inline-start: 6px solid var(--red); max-inline-size: 78ch; }
.fp__note h2 { color: #fff; }
