.membership-table-wrap { overflow-x: auto; }
.membership-table { border-collapse: collapse; width: 100%; font-size: 16px; }
.membership-table th, .membership-table td { padding: 16px 12px; border-bottom: 1px solid #dbe4df; text-align: left; vertical-align: top; }
.membership-table thead { background: #edf4f0; }
.membership-table td:nth-child(2) { white-space: nowrap; font-variant-numeric: tabular-nums; }
@media (max-width: 600px) {
  .membership-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .membership-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr); padding: 16px 0; border-bottom: 1px solid #dbe4df; }
  .membership-table th, .membership-table td { display: block; padding: 4px 0; border: 0; font-size: 16px; overflow-wrap: break-word; }
  .membership-table th { font-size: 18px; }
  .membership-table td[data-label]::before { content: attr(data-label); }
}
.membership-page { letter-spacing: 0; }
.membership-page .membership-hero { padding: 40px 0 32px; }
.membership-page .membership-hero h1 { font-size: 42px; line-height: 1.2; margin: 8px 0 16px; }
.membership-page .membership-intro { max-width: 760px; margin: 0 0 20px; }
.membership-page .button-row { margin: 0; gap: 12px; }
.membership-page .membership-application-note { max-width: 800px; margin: 16px 0 0; font-size: 15px; line-height: 1.6; }
.membership-page .content-section { padding: 48px 0; }
.membership-page .reveal { opacity: 1; transform: none; }
.membership-page .split-section { gap: 32px; }
.membership-page .section-heading { margin-bottom: 24px; }
.membership-page .section-heading h2,
.membership-page .split-section h2 { font-size: 28px; line-height: 1.35; }
.membership-page .theme-image { border-radius: 6px; max-height: 360px; object-fit: cover; }
.membership-page .process-list { margin-bottom: 20px; }
@media (max-width: 600px) {
  .membership-page .membership-hero { padding: 28px 0; }
  .membership-page .membership-hero h1 { font-size: 30px; }
  .membership-page .content-section { padding: 32px 0; }
  .membership-page .split-section { gap: 20px; }
  .membership-page .section-heading h2,
  .membership-page .split-section h2 { font-size: 24px; }
  .membership-page .button-row { display: grid; grid-template-columns: 1fr; gap: 8px; }
  .membership-page .button { white-space: normal; text-align: center; }
}
