.container {
  width: min(var(--container), calc(100% - 40px));
  margin: 0 auto;
}

.section-dark {
  position: relative;
  background:
    radial-gradient(circle at 20% 0%, rgba(240,68,46,.32), transparent 32%),
    radial-gradient(circle at 85% 20%, rgba(255,154,61,.18), transparent 28%),
    linear-gradient(135deg, #0d1117, #111827 58%, #1a1010);
  color: white;
  overflow: hidden;
}

.section-light {
  padding: 110px 0;
}

.hero {
  min-height: 92vh;
  padding: 140px 0 40px;
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
  gap: 28px;
  align-items: end;
}

.hero-lead {
  max-width: 690px;
  color: rgba(255,255,255,.78);
  font-size: clamp(18px, 2vw, 23px);
}

.hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin: 34px 0;
}

.hero-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  max-width: 640px;
}

.hero-facts div {
  padding: 18px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius-md);
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(14px);
}

.hero-facts strong {
  display: block;
  font-size: 22px;
  letter-spacing: -.04em;
}

.hero-facts span {
  color: rgba(255,255,255,.58);
  font-size: 14px;
}

.intro-grid,
.process-grid,
.about-grid {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 70px;
  align-items: start;
}

.large-text {
  font-size: clamp(20px, 3vw, 31px);
  line-height: 1.35;
  letter-spacing: -.035em;
  color: #2a2927;
}

.cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 42px;
}

.code-rain-section {
  padding: 115px 0;
}

.program-cta {
  margin-top: 34px;
  display: flex;
  align-items: center;
  gap: 18px;
  justify-content: space-between;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,.06);
}

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 44px;
  align-items: stretch;
}

.reviews-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 42px;
}

.about {
  padding: 110px 0;
}

.final-cta {
  padding: 100px 0;
}

.final-box {
  text-align: center;
  max-width: 850px;
}

.footer {
  padding: 30px 0;
  background: #080b10;
  color: rgba(255,255,255,.58);
}

.footer-inner {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

.footer a {
  margin-left: 18px;
}
