/* Platform ("All in one platform" / offer-section) */
.offer-section {
  --card-w: clamp(300px, 25.277vw, 420px);
  --card-h: clamp(260px, 20.833vw, 340px);
  --main-w: clamp(320px, 26.666vw, 450px);
  --gap: clamp(20px, 3.472vw, 60px);
  margin: 0 auto;
  padding: 30px 5%;
}

@media (min-width: 1440px) {
  .offer-section {
    --card-w: 364px;
    --card-h: 300px;
    --main-w: 384px;
    --gap: 50px;
  }
}

.offer-grid {
  display: grid;
  grid-template-columns: repeat(3, var(--card-w));
  column-gap: var(--gap, 50px) !important;
  row-gap: var(--gap, 50px) !important;
  justify-content: center;
  align-items: start;
}

.offer-grid > * {
  margin: 0 !important;
}

.offer-card {
  width: var(--card-w);
  height: var(--card-h);
  border-radius: var(--radius-card);
  background: var(--color-card-bg);
  box-shadow: 0 20px 20px rgba(0, 0, 0, 0.1);
  backdrop-filter: var(--blur-glass);
  -webkit-backdrop-filter: var(--blur-glass);
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow: hidden;
  transition: 0.25s ease;
}

.offer-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.35);
}

.offer-icon {
  padding: 40px 30px 0;
  display: flex;
}

.offer-icon img {
  width: 49px;
  height: 49px;
  object-fit: contain;
}

.offer-title {
  padding: 0 30px;
  margin: 0;
  font-size: 26px;
  font-weight: 700;
  line-height: 26px;
}

.offer-desc {
  padding: 0 30px 30px;
  margin: 0;
  font-size: 22px;
  line-height: 26px;
  color: var(--color-text-muted);
}

.offer-card--main {
  width: var(--main-w);
  height: auto;
  background: none;
  border: none;
  box-shadow: none;
  backdrop-filter: none;
  padding: 0;
  gap: 16px;
  border-radius: 0 !important;
}

.offer-card--main:hover {
  transform: none;
  box-shadow: none;
}

.offer-headline {
  margin: 0;
  font-size: 42px;
  font-weight: 700;
  line-height: 46px;
  letter-spacing: -1px;
}

.offer-accent {
  color: var(--color-accent-b);
}

.offer-lead {
  margin: 0;
  font-size: 22px;
  line-height: 26px;
  color: var(--color-text-muted);
}
