.gate-rules { width: min(100%, 880px); margin: 24px auto 64px; }
.gate-rules .section-head small { color: var(--gate-gold); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.gate-rules h1 { margin: 12px 0 18px; font: 400 clamp(32px, 5vw, 52px)/1.15 Georgia, serif; }
.gate-rules .section-head p { max-width: 68ch; color: var(--gate-muted); }
.gate-rules .rules-list { padding-left: 26px; margin: 36px 0; }
.gate-rules .rules-list li { padding: 24px 0 24px 14px; border-top: 1px solid var(--gate-line); }
.gate-rules li::marker { color: var(--gate-gold); }
.gate-rules h3 { margin: 0 0 10px; font: 400 22px/1.35 Georgia, serif; }
.gate-rules li p, .gate-rules .rules-help { margin: 0; color: var(--gate-muted); font-size: 15px; line-height: 1.85; }
.gate-rules a { color: var(--gate-gold); text-underline-offset: 4px; }
@media (max-width: 420px) { .gate-rules { margin-top: 12px; } .gate-rules li p { font-size: 14px; } }

.rules-page { display: flex; flex-direction: column; min-height: 100svh; }
.rules-page > .gate-header, .rules-page > .gate-footer { padding-left: clamp(24px, 4.8vw, 88px); padding-right: clamp(24px, 4.8vw, 88px); }
.rules-page > .gate-layout { display: block; flex: 1; min-height: 0; }
