.page-rules {
  background: #f6f3f8;
}

.rules-page {
  padding-bottom: 72px;
}

.rules-hero {
  background: linear-gradient(135deg, #221c4f 0%, #7a1138 70%, #be1a5b 100%);
  color: #fff;
  padding: 56px 0 48px;
  margin-bottom: -36px;
}

.rules-kicker {
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
  opacity: .78;
  margin-bottom: 10px;
}

.rules-hero h1 {
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 800;
  letter-spacing: -.03em;
  margin: 0 0 10px;
}

.rules-lead {
  max-width: 640px;
  margin: 0;
  font-size: 17px;
  line-height: 1.5;
  opacity: .88;
}

.rules-card {
  position: relative;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 18px 50px rgba(34, 28, 79, .12);
  padding: 36px 36px 44px;
}

.rules-body {
  color: #2c3142;
  font-size: 16px;
  line-height: 1.7;
}

.rules-body h2,
.rules-body h3,
.rules-body h4 {
  color: #221c4f;
  font-weight: 750;
  margin: 1.6em 0 .55em;
  letter-spacing: -.02em;
}

.rules-body h2 { font-size: 1.28rem; }
.rules-body h3 { font-size: 1.12rem; }
.rules-body p { margin: 0 0 1em; }
.rules-body ul,
.rules-body ol {
  padding-left: 1.2em;
  margin: 0 0 1.1em;
}
.rules-body li { margin: .28em 0; }
.rules-body a { color: #be1a5b; font-weight: 600; }
.rules-body a:hover { color: #7a1138; }

@media (max-width: 767.98px) {
  .rules-hero { padding: 36px 0 40px; }
  .rules-card { padding: 22px 18px 28px; border-radius: 16px; }
}
