:root {
  --gold: #d6b56f;
  --gold-deep: #8a6330;
  --gold-hover: #e4c985;
  --gold-focus: rgba(214, 181, 111, 0.72);
  --gold-rule: rgba(214, 181, 111, 0.68);
}

.hero-prelude {
  margin-bottom: 26px;
}

.hero h1 {
  margin-bottom: 0.45rem;
  font-size: 3.25rem;
}

.hero-subtitle {
  margin-bottom: 1.65rem;
  font-size: 2.02rem;
  font-weight: 560;
  line-height: 1.16;
}

.hero-subtitle span {
  display: block;
}

.benefit-item {
  grid-template-columns: 110px minmax(0, 1fr);
  padding-block: 24px;
  gap: 24px;
}

.benefit-item span {
  display: block;
  width: auto;
  min-height: 0;
  color: var(--gold);
  font-family: "Aptos Display", Aptos, "Segoe UI", Arial, sans-serif;
  font-size: 4.6rem;
  font-weight: 650;
  line-height: 0.88;
}

.program-item {
  grid-template-columns: 112px minmax(260px, 0.8fr) minmax(320px, 1.2fr);
}

.program-number {
  font-family: "Aptos Display", Aptos, "Segoe UI", Arial, sans-serif;
  font-size: 4.5rem;
  font-weight: 650;
  line-height: 0.88;
}

.materials-grid span {
  margin-bottom: 24px;
  font-family: "Aptos Display", Aptos, "Segoe UI", Arial, sans-serif;
  font-size: 4.25rem;
  font-weight: 650;
  line-height: 0.9;
}

.check-list li {
  padding-left: 34px;
}

.check-list li::before {
  top: 10px;
  width: 22px;
  height: 22px;
  background-color: var(--gold-deep);
  content: "";
  -webkit-mask: url("assets/saturn-icon.svg") center / contain no-repeat;
  mask: url("assets/saturn-icon.svg") center / contain no-repeat;
}

@media (max-width: 1100px) {
  .program-item {
    grid-template-columns: 104px minmax(220px, 0.85fr) minmax(300px, 1.15fr);
  }
}

@media (max-width: 960px) {
  .program-item {
    grid-template-columns: 96px minmax(0, 1fr);
  }

  .program-item ul {
    grid-column: 2;
  }

  .materials-grid span {
    margin-bottom: 20px;
  }
}

@media (max-width: 640px) {
  .hero-prelude {
    margin-bottom: 23px;
  }

  .hero h1 {
    font-size: clamp(2.18rem, 7.5vw, 3rem);
  }

  .hero-subtitle {
    margin-bottom: 1.45rem;
    font-size: clamp(1.52rem, 4.9vw, 1.85rem);
  }

  .benefit-item {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 16px;
  }

  .benefit-item span {
    font-size: 3.15rem;
  }

  .program-item {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 16px;
  }

  .program-number {
    font-size: 3.15rem;
  }

  .program-item ul {
    grid-column: 1 / -1;
  }

  .materials-grid span {
    font-size: 3.35rem;
  }
}
