.page-memberships .page-hero__mark-image { display: block; justify-self: center; width: clamp(12rem, 20vw, 15rem); height: auto; max-height: 300px; object-fit: contain; align-self: center; }
.page-memberships .membership-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 17px; align-items: stretch; }
.page-memberships .membership-card { position: relative; background: #fff; border-radius: 16px; padding: 34px; display: flex; flex-direction: column; }
.page-memberships .membership-card--featured { background: var(--ink); color: #fff; }
.page-memberships .membership-card h2 { font-size: 2.2rem; }
.page-memberships .membership-card p { color: var(--muted); }
.page-memberships .membership-card--featured p { color: rgba(255,255,255,.65); }
.page-memberships .membership-card ul { list-style: none; padding: 0; margin: 25px 0 35px; display: grid; gap: 11px; flex: 1; }
.page-memberships .membership-card li { padding-left: 25px; position: relative; }
.page-memberships .membership-card li::before { content: "✓"; position: absolute; left: 0; color: var(--accent-2); font-weight: 900; }
.page-memberships .popular-tag { position: absolute; right: 20px; top: 20px; background: var(--accent); color: var(--ink); border-radius: 99px; padding: 6px 9px; font-size: .72rem; font-weight: 720; }
.page-memberships .section--faq { background: var(--paper-2); }
.page-memberships .faq-grid { display: grid; grid-template-columns: .65fr 1fr; gap: 8vw; }
.page-memberships .accordion article { border-top: 1px solid var(--line); }
.page-memberships .accordion button { width: 100%; display: flex; justify-content: space-between; gap: 20px; text-align: left; border: 0; background: transparent; padding: 22px 0; font-weight: 850; font-size: 1.05rem; }
.page-memberships .accordion article > div { max-height: 0; overflow: hidden; transition: max-height .3s; }
html:not(.js) .page-memberships .accordion article > div { max-height: none; overflow: visible; }
.page-memberships .accordion article > div p { color: var(--muted); padding-right: 30px; }

@media (max-width: 760px) {
  .page-memberships .page-hero__mark-image { display: none; }
  .page-memberships .membership-grid, .page-memberships .faq-grid { grid-template-columns: 1fr; }
  .page-memberships .membership-card--featured { transform: none; }
}
@media (max-width: 430px) {
  .page-memberships .membership-card { border-radius: 18px; padding: 22px; }
  .page-memberships .membership-card h2 { font-size: 2.05rem; }
}
