/* === /geo/ 12-process: Figma 292:2963 (desktop), 338:1661 (mobile) === */
.fmf2 .geo-process{--gp-line:#EBEBEB}
.fmf2 .geo-process__head{max-width:984px}
.fmf2 .geo-process__list{list-style:none;margin:0;padding:0}
.fmf2 .geo-process__title{font-size:24px;font-weight:400;line-height:1.2;color:var(--c-ink)}
.fmf2 .geo-process__text{margin-top:12px;font-size:16px;font-weight:500;line-height:1.4;color:rgba(26,26,26,.6)}

/* ---------- Десктоп: дерево с центральным стволом и ветками влево/вправо ----------
   Все отступы в % от ширины контейнера (1320 в макете), чтобы дерево тянулось 1025–1920. */
@media (min-width:1025px){
  .fmf2 .geo-process{--gp-trunk:49.1%}
  /* лид и дерево занимают одну ячейку: ствол начинается рядом с лидом, как в макете */
  .fmf2 .geo-process__body{display:grid;margin-top:20px}
  .fmf2 .geo-process__lead,.fmf2 .geo-process__tree{grid-area:1/1}
  .fmf2 .geo-process__lead{margin-top:0;max-width:min(536px,calc(var(--gp-trunk) - 64px));align-self:start;
    font-size:18px;line-height:1.4;color:rgba(26,26,26,.6)}
  .fmf2 .geo-process__tree{padding-top:56px}
  .fmf2 .geo-process__list{position:relative;display:flex;flex-direction:column;gap:64px;padding:40px 0 62px}
  .fmf2 .geo-process__list::before{content:"";position:absolute;top:0;bottom:0;left:var(--gp-trunk);width:2px;background:var(--gp-line)}

  .fmf2 .geo-process__item{position:relative;--gp-y:32px}
  /* ветка */
  .fmf2 .geo-process__item::before{content:"";position:absolute;top:var(--gp-y);height:2px;width:var(--gp-len);background:var(--gp-line)}
  /* разрыв ствола в узле — белый квадрат 15px, как в макете */
  .fmf2 .geo-process__item::after{content:"";position:absolute;top:calc(var(--gp-y) - 6.5px);left:calc(var(--gp-trunk) - 6.5px);
    width:15px;height:15px;background:var(--c-bg)}
  .fmf2 .geo-process__item--right{padding-left:calc(var(--gp-trunk) + var(--gp-off))}
  .fmf2 .geo-process__item--right::before{left:calc(var(--gp-trunk) + 1px)}
  .fmf2 .geo-process__item--left{padding-right:calc(100% - var(--gp-trunk) + var(--gp-off))}
  .fmf2 .geo-process__item--left::before{right:calc(100% - var(--gp-trunk))}
  /* смещения и длины веток из макета: 247/200, 112/88, 134/111, 224/200, 247/200 px от 1320 */
  .fmf2 .geo-process__item--n1,.fmf2 .geo-process__item--n5{--gp-off:18.7%;--gp-len:15.15%}
  .fmf2 .geo-process__item--n2{--gp-off:8.5%;--gp-len:6.7%}
  .fmf2 .geo-process__item--n3{--gp-off:10.15%;--gp-len:8.4%}
  .fmf2 .geo-process__item--n4{--gp-off:17%;--gp-len:15.15%}
  .fmf2 .geo-process__item--n1 .geo-process__text,
  .fmf2 .geo-process__item--n5 .geo-process__text{max-width:419px}

  .fmf2 .geo-process__cta{display:flex;justify-content:flex-start;padding-left:calc(var(--gp-trunk) + 1px)}
  .fmf2 .geo-process__cta .btn{transform:translateX(-50%)}
}

/* ---------- Планшет и мобильный: вертикальный ствол слева, ветки 24px ---------- */
@media (max-width:1024px){
  .fmf2 .geo-process__lead{max-width:640px}
  .fmf2 .geo-process__tree{margin-top:32px}
  .fmf2 .geo-process__list{display:flex;flex-direction:column;gap:24px;padding-bottom:24px;border-left:2px solid var(--gp-line)}
  .fmf2 .geo-process__item{position:relative;padding-left:32px}
  .fmf2 .geo-process__item::before{content:"";position:absolute;left:0;top:11px;width:24px;height:2px;background:var(--gp-line)}
  .fmf2 .geo-process__title{font-size:20px}
  .fmf2 .geo-process__text{margin-top:8px}
  /* ствол доходит до середины кнопки и поворачивает к ней */
  .fmf2 .geo-process__cta{position:relative;padding-left:34px}
  .fmf2 .geo-process__cta::before{content:"";position:absolute;left:0;top:0;width:2px;height:24px;background:var(--gp-line)}
  .fmf2 .geo-process__cta::after{content:"";position:absolute;left:2px;top:22px;width:32px;height:2px;background:var(--gp-line)}
  .fmf2 .geo-process__cta .btn{height:46px}
}
@media (max-width:640px){
  .fmf2 .geo-process__lead{font-size:16px;color:rgba(26,26,26,.6)}
  .fmf2 .geo-process__title{font-size:18px}
}
