.promo-home .promo-shell {
  width: 100%;
  max-width: none;
  margin: 0;
}

.platform-section {
  padding: 95px 6% 80px;
  background: #fff;
}

.platform-section > header {
  max-width: 820px;
  margin: 0 auto 48px;
  text-align: center;
}

.platform-section > header h2 {
  margin: 14px 0;
  font-size: clamp(36px, 4vw, 58px);
  line-height: 1.05;
}

.platform-section > header > p:last-child {
  color: #746392;
  font-size: 18px;
  line-height: 1.6;
}

.platform-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.platform-card {
  position: relative;
  min-height: 270px;
  padding: 28px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: linear-gradient(145deg, #fff, #faf8ff);
  box-shadow: 0 18px 45px #3a23650d;
}

.platform-card.featured {
  background: linear-gradient(145deg, #f1ebff, #fff);
  border-color: #cfc0f8;
}

.platform-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin-bottom: 23px;
  border-radius: 16px;
  color: var(--purple);
  background: #eee7ff;
  font-size: 24px;
  font-weight: 900;
}

.platform-card:nth-child(3n+2) .platform-icon { color: #118d83; background: #ddf8f4; }
.platform-card:nth-child(3n) .platform-icon { color: #d86b25; background: #fff0df; }
.platform-card small { color: #8a78a5; font-size: 10px; font-weight: 900; letter-spacing: 1.3px; }
.platform-card h3 { margin: 8px 0 10px; font-size: 22px; }
.platform-card p { margin: 0; color: #756690; line-height: 1.6; }
.platform-card b { display: block; margin-top: 14px; color: var(--purple); font-size: 12px; }

.platform-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-top: 22px;
  padding: 28px 32px;
  border-radius: 24px;
  color: #fff;
  background: linear-gradient(120deg, #2b176f, #7043ed);
}

.platform-cta div { display: grid; gap: 5px; }
.platform-cta strong { font-size: 21px; }
.platform-cta span { color: #ded5f7; }
.platform-cta .primary-cta { flex: none; background: #fff; color: var(--ink); box-shadow: none; }

@media (max-width: 1100px) {
  .platform-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 650px) {
  .platform-section { padding: 75px 22px 60px; }
  .platform-grid { grid-template-columns: 1fr; }
  .platform-card { min-height: 0; }
  .platform-cta { align-items: stretch; flex-direction: column; padding: 25px; }
  .platform-cta .primary-cta { width: 100%; }
}
