.membership-section { padding: 80px clamp(20px,6vw,88px); background: #fffaf0; scroll-margin-top: 72px; }
.membership-section .section-kicker { color: #18584c; }
.membership-intro, .membership-terms { max-width: 850px; line-height: 1.8; color: #716e68; }
#membershipStatus { line-height: 1.7; }
.membership-plans { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin: 28px 0; }
.membership-plan { display: flex; flex-direction: column; gap: 12px; padding: 26px; border: 1px solid #1515152b; border-radius: 8px; background: white; }
.membership-plan.featured { border: 2px solid #18584c; background: #eef5ef; }
.membership-plan h3, .membership-plan p { margin: 0; }
.membership-plan h3 { font-size: 24px; }
.membership-price { font-family: 'Pridi',serif; font-size: 42px; color: #18584c; }
.membership-plan small { color: #716e68; }
.membership-plan .primary-button { margin-top: auto; width: 100%; }
.membership-terms { font-size: 13px; }
.membership-note { padding: 16px; background: #eef5ef; line-height: 1.8; border-radius: 6px; margin: 20px 0; }
.membership-error { color: #b32316; min-height: 1.5em; }
@media(max-width:800px) { .membership-plans { grid-template-columns: 1fr; } .membership-section { padding-block: 52px; } .desktop-nav { gap: 14px; } }
