.about-page {
  padding: 40px 0 90px;
}

.about-page .container {
  max-width: 1280px;

  padding: 0 24px;
}

/* HERO */

.about-hero {
  min-height: 620px;

  padding: 70px;

  display: flex;

  align-items: center;

  border-radius: 28px;

  overflow: hidden;

  background:
    linear-gradient(90deg, rgba(7, 11, 26, 0.92), rgba(7, 11, 26, 0.55)),
    url("../images/about/hero.jpg");

  background-size: cover;

  background-position: center;
}

/* .about-hero-content {
  max-width: 620px;
} */

.about-chip {
  display: inline-flex;

  padding: 10px 18px;

  font-size: 13px;

  font-weight: 600;

  letter-spacing: 0.08em;

  border-radius: 999px;

  margin-bottom: 24px;

  background: rgba(255, 255, 255, 0.06);

  border: 1px solid rgba(255, 255, 255, 0.08);

  color: var(--light-text);
}

.about-hero h1 {
  font-size: 54px;

  line-height: 1.12;

  margin-bottom: 22px;
}

.about-hero p {
  font-size: 17px;

  line-height: 1.9;

  color: var(--light-text);

  max-width: 560px;
}

.about-btn {
  display: inline-flex;

  align-items: center;

  justify-content: center;

  padding: 16px 34px;

  margin-top: 30px;

  font-weight: 600;

  border-radius: 999px;

  background: linear-gradient(135deg, var(--primary), var(--secondary));

  transition: 0.3s;
}

.about-btn:hover {
  transform: translateY(-2px);
}

/* GENERAL */

.about-section,
.services-block,
.mission,
.about-cta {
  margin-top: 80px;
}

.about-section {
  display: grid;

  grid-template-columns: 1.1fr 0.9fr;

  gap: 60px;

  align-items: center;
}

.reverse {
  grid-template-columns: 0.9fr 1.1fr;
}

.about-section h2,
.services-block h2 {
  font-size: 38px;

  line-height: 1.2;

  margin-bottom: 18px;
}

.about-section p {
  font-size: 16px;

  line-height: 1.9;

  color: var(--light-text);

  margin-bottom: 18px;
}

.about-section ul {
  padding-left: 20px;
}

.about-section li {
  margin: 12px 0;

  color: var(--light-text);
}

.about-section img {
  width: 100%;

  height: 460px;

  object-fit: cover;

  border-radius: 26px;

  display: block;
}

/* SERVICES */

.services-block {
  text-align: center;
}

.service-grid {
  margin-top: 34px;

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 22px;
}

.service-card {
  padding: 32px;

  border-radius: 24px;

  background: var(--card-glass);

  border: 1px solid rgba(255, 255, 255, 0.08);

  text-align: left;
}

.service-card h3 {
  font-size: 22px;

  margin-bottom: 18px;
}

.service-card li {
  margin: 12px 0;

  color: var(--light-text);
}

/* MISSION */

.mission {
  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 24px;
}

.mission div {
  padding: 38px;

  border-radius: 24px;

  background: var(--card-glass);

  border: 1px solid rgba(255, 255, 255, 0.08);
}

.mission h3 {
  font-size: 28px;

  margin-bottom: 14px;
}

.mission p {
  line-height: 1.8;

  color: var(--light-text);
}

/* APPROACH */

.approach-grid {
  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 18px;

  margin-top: 70px;
}

.approach-grid div {
  padding: 28px;

  border-radius: 18px;

  background: rgba(255, 255, 255, 0.04);

  border: 1px solid rgba(255, 255, 255, 0.06);

  text-align: center;

  font-size: 16px;

  transition: 0.3s;
}

.approach-grid div:hover {
  transform: translateY(-4px);
}

/* CTA */

.about-cta {
  padding: 70px;

  border-radius: 32px;

  text-align: center;

  background: linear-gradient(
    180deg,
    rgba(139, 92, 246, 0.15),
    rgba(6, 182, 212, 0.08)
  );

  border: 1px solid rgba(255, 255, 255, 0.08);
}

.about-cta h2 {
  font-size: 42px;

  margin-bottom: 16px;
}

.about-cta p {
  max-width: 700px;

  margin: auto;

  color: var(--light-text);

  line-height: 1.9;
}

/* MOBILE */

@media (max-width: 992px) {
  .about-hero {
    min-height: auto;

    padding: 60px 40px;
  }

  .about-hero h1 {
    font-size: 42px;
  }

  .about-section,
  .service-grid,
  .mission,
  .approach-grid {
    grid-template-columns: 1fr;
  }

  .about-section img {
    height: 360px;
  }

  .about-cta h2 {
    font-size: 34px;
  }
}

@media (max-width: 768px) {
  .about-page {
    padding-top: 20px;
  }

  .about-hero {
    padding: 36px 28px;

    border-radius: 20px;
  }

  .about-chip {
    font-size: 11px;
  }

  .about-hero h1 {
    font-size: 30px;

    line-height: 1.18;
  }

  .about-hero p {
    font-size: 15px;
  }

  .about-section h2,
  .services-block h2 {
    font-size: 28px;
  }

  .about-section {
    gap: 30px;

    margin-top: 60px;
  }

  .about-section img {
    height: 280px;
  }

  .service-card {
    padding: 24px;
  }

  .about-cta {
    padding: 40px 24px;
  }

  .about-cta h2 {
    font-size: 28px;
  }
}
