.etiquette-page {
  max-width: 780px;
}

.etiquette-hero {
  margin-bottom: 3rem;
}
.etiquette-hero h1 {
  margin-top: 0;
  font-size: clamp(2rem, 5vw, 3rem);
}
.etiquette-tagline {
  font-family: "Playfair Display", Georgia, serif;
  font-style: italic;
  font-size: 1.15rem;
  color: var(--fg-dim);
  line-height: 1.6;
  margin: 0.75rem 0 0;
}

.etiquette-section {
  margin: 2.5rem 0;
}
.etiquette-section h2 {
  font-family: "Inter", system-ui, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 0.9rem;
  color: var(--accent);
  margin: 0 0 0.75rem;
}
.etiquette-section p {
  color: var(--fg-dim);
  line-height: 1.75;
  margin: 0.75rem 0;
}

.rules-section {
  padding: 1.75rem 2rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-raised);
}
.rules-intro {
  font-family: "Playfair Display", Georgia, serif;
  font-style: italic;
  font-size: 1.05rem;
  color: var(--fg);
  margin: 0 0 1.5rem !important;
}

.rules-list {
  list-style: none;
  counter-reset: rules;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 1.1rem;
}
.rules-list li {
  counter-increment: rules;
  display: flex;
  align-items: baseline;
  gap: 1rem;
  color: var(--fg-dim);
  line-height: 1.6;
}
.rules-list li::before {
  content: counter(rules);
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.4rem;
  color: var(--accent);
  min-width: 1.5rem;
  flex-shrink: 0;
  line-height: 1;
}
.rule-text {
  font-size: 1rem;
}
.rule-text strong {
  color: var(--fg);
}

.etiquette-cta {
  margin: 3rem 0 2rem;
  padding: 2rem 0 0;
  border-top: 1px solid var(--border);
}
.etiquette-cta p {
  color: var(--fg-dim);
  margin: 0 0 1.25rem;
}
.etiquette-cta .cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
