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

.section {
  position: relative;
  padding: 118px 0;
}

.section--hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding-top: calc(var(--header-height) + 72px);
}

.section--band {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0.01)),
    rgba(10, 5, 24, 0.72);
  border-block: 1px solid rgba(255, 255, 255, 0.06);
}

.hero__grid,
.about-grid,
.why-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.94fr) minmax(390px, 1.06fr);
  gap: 60px;
  align-items: center;
}

.hero__content {
  max-width: 720px;
}

.hero__visual {
  min-width: 0;
}

.section-heading {
  max-width: 760px;
}

.section-heading--center {
  margin-inline: auto;
  text-align: center;
}

.section-heading h2,
.hero h1,
.contact-card h2 {
  margin: 0;
  font-family: var(--font-display);
  line-height: 1.05;
  letter-spacing: 0;
}

.hero h1 {
  font-size: clamp(3rem, 5.4vw, 5.35rem);
  max-width: 700px;
}

.section-heading h2,
.contact-card h2 {
  font-size: clamp(2.2rem, 4vw, 4.2rem);
}

.section-heading p,
.hero__lead,
.about-copy p,
.contact-card p {
  color: rgba(229, 226, 225, 0.72);
  font-size: 1.08rem;
  line-height: 1.8;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  margin-top: 56px;
}

.projects-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin-top: 54px;
}

.workflow {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin-top: 56px;
}

.contact-section {
  padding-bottom: 72px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 24px;
  align-items: center;
}

.footer-grid > a:last-child {
  justify-self: end;
}
