.content {
    overflow: hidden;
}

.svg__container{
  display:grid;            /* 1-колоночный grid → строки одна под другой   */
  grid-row-gap:0;
  overflow-x:auto;         /* горизонтальный скролл                        */
  overflow-y:hidden;
  width:100%;              /* не расширяет .pathways                       */
  -webkit-overflow-scrolling:touch;
}

.svg__container svg{
  display:block;
  height:auto;
}

/* конкретные размеры (пример) */
.svg__container svg.f__svg{ max-width:845px; }  /* длинная */
.svg__container svg.s__svg{
  max-width:502px; 
  justify-self:end;          /* ⬅️ прижали к правому краю grid-контейнера  */
}

@media(max-width: 1190px)
{
 .svg__container svg.f__svg{ min-width:845px; } 
    .svg__container svg.s__svg{
  width:451px; 
  justify-self:end;          /* ⬅️ прижали к правому краю grid-контейнера  */
}
}



/* ===== План приёма ===== */
.enrol-plan{

  margin-top: 48px;
}

.plan-grid{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;           /* чтобы на тесных экранах переносилось */
  gap: 32px 51px;
}

.plan-grid li{
  flex:1 1 120px;           /* минимум 120 px, остальное равномерно */
}

.num{
  font-family:inherit;
  font-weight:700;
  font-size:64px;
  line-height:1;
  color:#3945B1;            /* «синенький» #3945B1 */
  text-align: center;
  display:block;
  margin-bottom:8px;
}

.num sup{
  font-size:0.5em;
  vertical-align:super;
}

.caption{
  font-size:20px;
  font-weight:500;
  color:#091840;
  text-align: center;
  padding: 0 10px;
  /* transform: translateX(-54px); */
  display:block;
}

.caption small{
  font-size:14px;
  font-weight:400;
  text-align: center;
}


@media(max-width: 520px)
{
  ul.plan-grid {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 14px 0px;
  }
    .num{  font-size: 54px;}
  
}

svg.t__svg, .tt__svg {
    max-width: 500px;
}

.tt__svg {
    max-width: 670px;}

    #olympiads h2
    {
        margin-top: 80px;
    }

    /* === Индивидуальные достижения === */

/* сброс счётчика и маркеров */
.achiev-list{
  counter-reset:item;
  list-style:none;
  margin:0;
  padding:0;
}

/* ⬇️ flex ТОЛЬКО для первого уровня */
.achiev-list > li{
  counter-increment:item;
  display:flex;
  justify-content:space-between;
  gap:24px;
  margin-bottom:32px;
}

/* большая цифра + точка */
.achiev-list > li::before{
  content:counter(item) '.';
  font-size:32px;
  font-weight:700;
  color:#091840;
  min-width:34px;
  text-align:right;
  margin-right:12px;
  line-height:1;
}

/* текст описания */
.desc{flex:1 1 auto;flex-basis: 10%;font-size:18px;line-height:1.4;max-width: 600px;}

/* вложенный UL в desc — обычные точки     */
/* (если вообще не нужны, раскомментируйте строку list-style:none) */
.desc ul{
  margin:8px 0 0;
  padding-left:20px;
  font-size:16px;
  list-style: disc;
  /* list-style: none;  */  /* ← убрать маркеры, если нужны «кружочки» — оставьте как есть */
}

/* колонка баллов справа */
.pts{
  margin-left:auto;
  text-align: left;
  font-weight:700;
  color:#3945B1;
  font-size:18px;
  line-height:1.3;
}
.pts small{ font-size:14px; font-weight:400; color:#091840; }
.pts.tr {
  min-width: 140px;
}

@media(max-width: 530px)
{
  .desc, .pts{
    font-size: 16px !important;
  }
  .achiev-list > li{
  counter-increment:item;
  display:flex;
  justify-content:space-between;
  gap:14px;
  margin-bottom:32px;
}
  .achiev-list > li::before
  {
    display: none;
  }
}

.arrow {
    width: 25px !important;
    height: 25px !important;
    object-fit: contain;
    transform-origin: center;
    background: #2E2556;
    border-radius: 13px;
}

.arrow svg{
    transform: translate(-3.3px, 1.8px);
}

.dorm-swiper
{

    max-width: 550px;

}

.btn__holder {
    gap: 15px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-top: 10px;
}
