body {
  margin: 0;
  background: #f5f7fb;
  color: #142033;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.8;
}

a {
  color: #0f6f7c;
  text-decoration: none;
}

.public-page {
  width: min(960px, calc(100% - 32px));
  margin: 0 auto;
  padding: 28px 0 64px;
}

.public-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  align-items: center;
  margin-bottom: 32px;
  font-weight: 700;
}

.public-hero,
.public-section,
.qa-list article,
.step-list article,
.public-grid article {
  background: #ffffff;
  border: 1px solid #dce5ef;
  border-radius: 8px;
  box-shadow: 0 14px 40px rgba(26, 45, 80, 0.08);
}

.public-hero {
  padding: 42px;
  margin-bottom: 24px;
}

.kicker {
  margin: 0 0 8px;
  color: #0f7c86;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

h1,
h2 {
  line-height: 1.35;
  margin: 0 0 12px;
}

h1 {
  font-size: clamp(2rem, 5vw, 3.2rem);
}

h2 {
  font-size: 1.25rem;
}

p {
  margin: 0;
}

.qa-list,
.step-list,
.public-grid {
  display: grid;
  gap: 16px;
}

.qa-list article,
.step-list article,
.public-grid article,
.public-section {
  padding: 24px;
}

.step-list article {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 16px;
}

.step-list span {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #0f7c86;
  color: #ffffff;
  font-weight: 800;
}

.step-list h2,
.step-list p {
  grid-column: 2;
}

.public-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.public-section {
  margin-top: 16px;
}

@media (max-width: 720px) {
  .public-page {
    width: min(100% - 20px, 960px);
    padding-top: 18px;
  }

  .public-hero {
    padding: 28px 22px;
  }

  .public-grid {
    grid-template-columns: 1fr;
  }
}
