.gj-article-page {
  padding: 18px 0 0;
}

.gj-article-hero {
  display: grid;
  gap: 14px;
  margin-bottom: 26px;
}

.gj-article-hero--reference {
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.95fr);
  gap: 0;
  overflow: hidden;
  border-radius: 34px;
  background: linear-gradient(135deg, rgba(255, 253, 253, 0.98), rgba(255, 244, 247, 0.92));
  border: 1px solid rgba(243, 203, 214, 0.88);
  box-shadow: var(--shadow-soft);
}

.gj-article-hero__copy {
  display: grid;
  align-content: center;
  gap: 14px;
  padding: 42px 34px;
}

.gj-article-hero h1 {
  font-size: clamp(2.3rem, 4vw, 3.7rem);
}

.gj-article-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(300px, 0.95fr);
  gap: 28px;
}

.gj-article-main {
  display: grid;
  gap: 22px;
}

.gj-article-section {
  padding: 28px;
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(243, 203, 214, 0.75);
  box-shadow: var(--shadow-card);
}

.gj-article-section h2 {
  margin-bottom: 12px;
  font-size: 1.3rem;
  color: var(--gj-purple);
}

.gj-article-side {
  display: grid;
  gap: 20px;
  align-content: start;
}

.gj-article-points {
  padding: 28px;
}

.gj-article-points h2,
.gj-side-box h2 {
  color: var(--gj-purple);
}
