:root{
  --container: 1400px;
  --font: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --primary: #5751E1;
}

.mg-container{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 20px;
}

.mg-hero{
  background:#fff;
  overflow:hidden;
}

.mg-hero__container{
  max-width: var(--container);
  margin: 0 auto;
  padding: 92px 20px 70px;
}

.mg-hero__grid{
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 44px;
  align-items:center;
}

.mg-hero__title{
  margin: 14px 0 12px;
  font-family: var(--font);
  font-size: 53px; /* 44 * 1.2 = 52.8 -> 53 */
  font-weight: 800;
  letter-spacing: -0.02em;
  color:#141431;
}

.mg-hero__subtitle{
  margin: 0 0 18px;
  font-family: var(--font);
  font-size: 18px; /* 15 * 1.2 = 18 */
  font-weight: 500;
  line-height: 1.6;
  color: rgba(11,11,20,0.62);
}

.mg-hero__badges{
  display:flex;
  flex-wrap:wrap;
  gap: 12px;
  margin: 18px 0 18px;
}

.mg-badge{
  border: 2px solid rgba(87,81,225,0.28); /* 1.6 -> 2 */
  border-radius: 14px;
  padding: 12px 14px;
  background:#fff;
  min-width: 160px;
}

.mg-badge__k{
  font-size: 14px; /* 13 * 1.2 = 15.6 -> 16 */
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(11,11,20,0.48);
}

.mg-badge__v{
  margin-top: 6px;
  font-size: 18px; /* 15 * 1.2 = 18 */
  font-weight: 800;
  color:#141431;
}

.mg-hero__cta{
  display:flex;
  align-items:center;
  gap: 16px;
  flex-wrap:wrap;
}

.mg-hero__note{
  font-size: 14px; /* 12 * 1.2 = 14.4 -> 14 */
  font-weight: 600;
  color: rgba(11,11,20,0.55);
}

/* media placeholders */
.mg-hero__media{
  position: relative;
  min-height: 360px;
}

.mg-photo{
  width: 100%;
  height: 360px;
  border-radius: 18px;
  border: 2px solid rgba(87,81,225,0.28); /* 1.6 -> 2 */
  background: linear-gradient(180deg, rgba(87,81,225,0.08), rgba(87,81,225,0.02));
}

.mg-photo__shadow{
  position:absolute;
  left: 22px;
  bottom: -16px;
  width: 76%;
  height: 70px;
  border-radius: 14px;
  background: rgba(242, 201, 76, 0.85);
}

/* Sections */
.mg-section{
  padding: 64px 0;
  background:#fff;
}

.mg-section--soft{
  background: rgba(87,81,225,0.04);
}

.mg-h2{
  margin: 0 0 10px;
  font-size: 34px; /* 28 * 1.2 = 33.6 -> 34 */
  font-weight: 800;
  color:#141431;
  text-align:center;
}

.mg-p{
  margin: 0;
  font-size: 18px; /* 15 * 1.2 = 18 */
  line-height: 1.6;
  color: rgba(11,11,20,0.62);
}

.mg-p--center{
  text-align:center;
  max-width: 760px;
  margin: 0 auto;
}

/* cards */
.mg-cards{
  margin-top: 26px;
  display:flex;
  gap: 18px;
  justify-content:center;
  flex-wrap:wrap;
}

.mg-card{
  width: min(360px, 100%);
  border: 2px solid rgba(87,81,225,0.28); /* 1.6 -> 2 */
  border-radius: 16px;
  background:#fff;
  padding: 18px;
}

.mg-card__title{
  font-weight: 800;
  color:#141431;
  margin-bottom: 8px;
  font-size: 18px;
}

.mg-card__text{
  font-size: 16px; /* 13 * 1.2 = 15.6 -> 16 */
  line-height: 1.6;
  color: rgba(11,11,20,0.62);
}

/* timeline */
.mg-timeline{
  margin-top: 26px;
  max-width: 920px;
  margin-left:auto;
  margin-right:auto;
  display:flex;
  flex-direction:column;
  gap: 12px;
}

.mg-step{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  background:#fff;
  border: 2px solid rgba(87,81,225,0.22); /* 1.6 -> 2 */
  border-radius: 16px;
  padding: 16px;
}

.mg-step__num{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(87,81,225,0.12);
  color: var(--primary);
  font-weight: 800;
  display:flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 34px;
  font-size: 16px;
}

.mg-step__title{
  font-weight: 800;
  color:#141431;
  margin-bottom: 6px;
  font-size: 18px;
}

.mg-step__text{
  font-size: 16px; /* 13 -> 16 */
  line-height: 1.55;
  color: rgba(11,11,20,0.62);
}

/* included grid */
.mg-grid2{
  margin-top: 26px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-items:stretch;
}

.mg-box{
  border: 2px solid rgba(87,81,225,0.28); /* 1.6 -> 2 */
  border-radius: 16px;
  background:#fff;
  padding: 18px;
}

.mg-box__title{
  font-weight: 800;
  color:#141431;
  margin-bottom: 15px;
  font-size: 20px; /* базово по странице */
}

.mg-ul{
  margin: 0;
  padding-left: 28px;
  color: rgba(11,11,20,0.62);
  line-height: 2.2;
  font-size: 16px; /* 13 -> 16 */
}

/* Блоки 1 и 4: текст больше */
.mg-box--textboost .mg-box__title{
  font-size: 34px;
}

.mg-box--textboost .mg-ul{
  font-size: 24px;
}

/* Блоки 2 и 3: одно “фото” на весь блок, с отступами */
.mg-box--media{
  display:flex;
  align-items:stretch;
  justify-content:center;
  padding: 18px; /* отступы внутри блока */
}

.mg-media{
  width: 100%;
  min-height: 312px; /* визуально как 180+120+gap */
  border-radius: 16px;
  background: #c9c9c9;
}

/* results */
.mg-results{
  margin-top: 24px;
  display:flex;
  flex-wrap:wrap;
  gap: 12px;
  justify-content:center;
}

.mg-result{
  border: 2px solid rgba(87,81,225,0.22); /* 1.6 -> 2 */
  background:#fff;
  border-radius: 999px;
  padding: 10px 14px;
  font-size: 16px; /* 13 -> 16 */
  font-weight: 700;
  color: rgba(20,20,49,0.9);
}

/* selection split */
.mg-split{
  margin-top: 18px;
  display:grid;
  grid-template-columns: 1fr 0.8fr;
  gap: 22px;
  align-items:start;
}

.mg-callout{
  margin-top: 16px;
  border: 2px solid rgba(242, 201, 76, 0.55); /* 1.6 -> 2 */
  background: rgba(242, 201, 76, 0.15);
  border-radius: 16px;
  padding: 14px;
}

.mg-callout__title{
  font-weight: 800;
  color:#141431;
  margin-bottom: 6px;
  font-size: 18px;
}

.mg-callout__text{
  font-size: 16px; /* 13 -> 16 */
  line-height: 1.55;
  color: rgba(11,11,20,0.68);
}

.mg-side__rect{
  height: 260px;
  border-radius: 18px;
  background: #c9c9c9;
  border: 2px solid rgba(87,81,225,0.22); /* 1.6 -> 2 */
}

/* CTA */
.mg-cta{
  background: rgba(87,81,225,0.06);
  padding: 62px 0;
}

.mg-cta__container{
  text-align:center;
}

.mg-cta__title{
  font-size: 31px; /* 26 * 1.2 = 31.2 -> 31 */
  font-weight: 800;
  color:#141431;
  margin-bottom: 10px;
}

.mg-cta__text{
  max-width: 760px;
  margin: 0 auto 18px;
  font-size: 16px; /* 13 -> 16 */
  line-height: 1.6;
  color: rgba(11,11,20,0.62);
}

/* responsive */
@media (max-width: 980px){
  .mg-hero__grid{ grid-template-columns: 1fr; }
  .mg-hero__media{ order: -1; }
  .mg-grid2{ grid-template-columns: 1fr; }
  .mg-split{ grid-template-columns: 1fr; }

  .mg-hero__title{ font-size: 41px; } /* 34 * 1.2 = 40.8 -> 41 */
}

@media (max-width: 520px){
  .mg-hero__container{ padding: 74px 14px 60px; }
  .mg-section{ padding: 52px 0; }
  .mg-h2{ font-size: 29px; } /* 24 * 1.2 = 28.8 -> 29 */
}