.agreement-page { max-width: 880px; margin: 0 auto 3rem; }
.membership-eyebrow { color: #8b0000; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; font-size: .8rem; }
.agreement-page h1 { font-size: clamp(2rem, 5vw, 3rem); margin-bottom: 1rem; }
.agreement-selection, .agreement-acceptance { background: #fffaf0; border: 1px solid #dbcbb2; border-radius: 14px; padding: clamp(1.2rem, 4vw, 2rem); margin: 2rem 0; }
.agreement-equality { background: #671a1a; color: #fffaf0; text-align: center; padding: 1.5rem; border-radius: 12px; margin: 2rem 0; font-weight: 700; letter-spacing: .07em; line-height: 1.8; }
.agreement-text { font-size: 1.05rem; line-height: 1.8; }
.agreement-section { margin: 2rem 0; }
.agreement-section h2 { font-size: 1.45rem; color: #671a1a; }
.agreement-important { background: #fff4d8; border-left: 5px solid #8b0000; padding: 1.5rem; border-radius: 4px; }
.agreement-acceptance label { display: block; font-size: 1.05rem; line-height: 1.65; cursor: pointer; }
.agreement-acceptance input[type=checkbox] { width: 1.3rem; height: 1.3rem; margin-right: .6rem; vertical-align: middle; }
.agreement-acceptance button { margin-top: 1.4rem; white-space: normal; }
.agreement-links { display: flex; flex-wrap: wrap; gap: 1rem; margin: 1.4rem 0; }
@media print {
  @page { margin: 18mm; }
  body { background: white !important; color: black; font-family: Georgia, serif; }
  nav, footer, .modal, script, .no-print, .agreement-acceptance { display: none !important; }
  .agreement-page { margin: 0; max-width: none; }
  .agreement-equality { color: black; border: 1px solid black; background: white; }
  .agreement-important { background: white; border: 2px solid black; }
  .agreement-section h2 { break-after: avoid; color: black; }
  .agreement-section p, .agreement-section li { orphans: 3; widows: 3; }
}
