/* Membership comparison follows the dashboard PlanSelector. */
.membership-offer{display:block}
.membership-offer .end-intro{max-width:1040px;margin-inline:auto;margin-bottom:var(--sp-8)}
.membership-offer .end-intro h2{margin-top:0}
.membership-offer .end-intro>p{margin-top:var(--sp-5)}
.membership-card{max-width:1040px;margin-inline:auto;padding:var(--sp-8);background:color-mix(in srgb,var(--bg) 88%,transparent);border:1px solid var(--line-gold);border-radius:var(--r-xl);scroll-margin-top:var(--sp-4)}
.membership-card-heading{margin-bottom:var(--sp-7)}
.membership-card-heading h3{font:500 1.625rem/1.25 var(--ff-display);color:var(--text);margin:0}
.membership-card-heading p{font:400 1rem/1.5 var(--ry-font-copy);margin-top:var(--sp-3);color:var(--text-2)}
.membership-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-7) var(--sp-8)}
.benefit-group h4{font:500 20px/1.3 var(--ff-display);color:var(--text);margin:0 0 var(--sp-4)}
.benefit-group ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-3)}
.benefit-group li{display:flex;align-items:flex-start;gap:var(--sp-3);font:400 16px/1.5 var(--ry-font-copy);color:var(--text-2)}
.benefit-check{width:20px;height:24px;flex:0 0 20px;color:var(--gold)}
.membership-divider{grid-column:1/-1;width:100%;margin:0;border:0;border-top:1px solid var(--line)}
.membership-choice{max-width:640px;margin-inline:auto;margin-top:0;padding-top:var(--sp-7);border-top:1px solid var(--line)}
.membership-plans{padding:0;border:0;margin:0;min-width:0;display:grid;grid-template-columns:1fr;gap:var(--sp-3)}
.membership-plan{position:relative;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);padding-top:max(var(--sp-3),1.5em);border:1px solid var(--line);border-radius:var(--r-md);background:var(--glass);cursor:pointer;transition:border-color 150ms,background 150ms}
.membership-plan-annual,.membership-plan-lifetime{display:grid;grid-template-columns:16px minmax(0,1fr);gap:var(--sp-1) var(--sp-3);margin-top:max(var(--sp-3),1.25em)}
.membership-plan:has(input:checked){border-color:var(--gold);background:color-mix(in srgb,var(--gold) 5%,transparent)}
.membership-plan:hover{background:var(--glass-hover)}
.membership-plan:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:4px}
.membership-plan input{appearance:none;margin:0;flex:0 0 16px;width:16px;height:16px;border:2px solid var(--line);border-radius:50%;background:transparent}
.membership-plan input:checked{border-color:var(--gold);background:var(--gold);box-shadow:inset 0 0 0 3px var(--bg)}
.membership-plan input:focus{outline:none}
.membership-plan-copy{display:grid;gap:var(--sp-1);min-width:0}
.membership-plan-price{font:600 1.5rem/1.3 var(--ff-display);color:var(--text)}
.membership-plan-price>span{font:inherit}
.membership-plan-billing{font:400 14px/1.5 var(--ry-font-copy);color:var(--text-2)}
.membership-plan-saving{font:500 14px/1.5 var(--ry-font-copy);color:var(--gold)}
.membership-value-badge,.membership-lifetime-badge{position:absolute;top:0;right:var(--sp-3);transform:translateY(-50%);padding:var(--sp-1) var(--sp-2);max-width:calc(100% - 2 * var(--sp-3));border-radius:var(--r-md);font:500 .75rem/1.5 var(--ry-font-copy);text-align:center;text-wrap:balance}
.membership-value-badge{background:var(--gold);color:var(--on-gold)}
.membership-lifetime-badge{display:inline-flex;align-items:center;gap:var(--sp-1);border:1px solid var(--gold);background:color-mix(in srgb,var(--gold) 20%,var(--surface) 80%);color:var(--gold)}
.membership-lifetime-badge svg{width:1.25em;height:1.25em;flex:none}
.membership-plan-lifetime .membership-plan-billing{color:var(--gold);justify-self:start;max-width:100%}
@keyframes lifetime-payment-shimmer{from{background-position:135% 0}to{background-position:-105% 0}}
@supports (background-clip:text){.membership-plan-lifetime .membership-plan-billing{background-color:color-mix(in srgb,var(--text-2) 30%,transparent);background-image:linear-gradient(90deg,transparent 32.5%,var(--gold-light) 50%,transparent 67.5%);background-repeat:no-repeat;background-size:200% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:lifetime-payment-shimmer 4s linear infinite}}
.membership-tax,.membership-terms,.membership-choice .preview-label{font:400 13px/1.5 var(--ry-font-copy);color:var(--text-3)}
.membership-tax{margin-top:var(--sp-4)}
.membership-choose{font-size:.875rem;line-height:1.35;width:100%;margin-top:var(--sp-5);gap:var(--sp-2)}
.membership-choose [data-plan-cta]{font-size:inherit}
.membership-terms{margin-top:var(--sp-4)}
.membership-choice .preview-label{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--line)}
.pricing-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:1100px){.membership-card{padding:var(--sp-7)}}
@media(max-width:700px){.membership-card{padding:var(--sp-5)}.membership-benefits,.membership-plans{grid-template-columns:1fr}.membership-benefits{gap:var(--sp-6)}.membership-plan{padding-inline:var(--sp-3)}.membership-plan-price{font-size:1.5rem}.membership-choose{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){.membership-plan{transition:none}.membership-plan-lifetime .membership-plan-billing{animation:none;background:none;color:var(--gold);-webkit-text-fill-color:var(--gold)}}

@media(max-width:360px){.membership-plan-price{font-size:1.25rem}}
@media(min-width:1101px){
  .membership-offer .membership-plans{grid-template-columns:repeat(3,minmax(0,1fr))}
  .membership-offer .membership-plans>.membership-plan:first-of-type{margin-top:max(var(--sp-3),1.25em)}
}

/* Lifetime reassurance uses exactly the price-summary typography. */
.membership-terms{text-align:center}
.membership-access-promise{margin-top:var(--sp-2)}
.membership-access-promise[hidden]{display:none}
