.membership-page { max-width: 1140px; margin-inline: auto; padding: 2rem var(--container-padding) 3rem; color: var(--ink); }
.membership-hero { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); gap: 2.5rem; align-items: center; padding: clamp(1.25rem,3vw,2.5rem); background: var(--ink); border-bottom: 4px solid var(--coral); border-radius: var(--r-sm); }
.lrc-site .membership-intro .product-kicker { color: var(--ink-20); }
.membership-intro h1 { color: var(--surface); font: 600 clamp(2.4rem,4vw,3.7rem)/1.06 var(--font-display); margin: 1.5rem 0 1rem; letter-spacing: -.025em; }
.membership-intro h1 em { font-style: normal; color: var(--coral-light); }
.membership-intro > p { color: var(--ink-20); max-width: 420px; font-size: .95rem; line-height: 1.7; }
.membership-text-link { display: inline-flex; gap: .65rem; align-items: center; color: var(--surface); font-size: .82rem; margin-top: .75rem; text-underline-offset: .25em; }
.membership-price { background: var(--surface); padding: 1.6rem; border-radius: var(--r-sm); box-shadow: var(--chip-md) var(--coral); }
.membership-price .membership-amount { font: 600 3.5rem/1.1 var(--font-display); color: var(--ink); margin: .7rem 0; }
.membership-amount span { font: 400 .85rem var(--font-body); color: var(--ink-70); margin-left: .3rem; }
.membership-price > p:not(.membership-amount):not(.product-kicker) { font-size: .85rem; line-height: 1.6; color: var(--ink-70); }
.membership-price .product-primary { width: 100%; margin: .65rem 0 .25rem; cursor: pointer; }
.membership-price ul { padding-left: 1.1rem; font-size: .75rem; color: var(--ink-70); line-height: 1.7; }
.membership-price > a { display: block; border-top: 1px solid var(--rule); padding-top: .85rem; color: var(--ink); font-size: .75rem; text-underline-offset: .2em; }
.membership-section { margin-top: 3rem; scroll-margin-top: 2rem; }
.membership-section h2, .membership-free h2 { font: 600 2rem/1.15 var(--font-display); margin: .3rem 0 .8rem; color: var(--ink); }
.membership-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 1rem; }
.membership-section-heading > a { display: inline-flex; align-items: center; gap: .5rem; flex-shrink: 0; font-size: .8rem; color: var(--ink); margin-bottom: .8rem; }
.membership-routes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.membership-routes article { display: flex; flex-direction: column; padding: 1.3rem; background: var(--product-tint); border: 1px solid var(--rule); border-top: 3px solid var(--product-accent); border-radius: var(--r-sm); }
.membership-routes h3 { font: 600 1.5rem/1.15 var(--font-display); margin: .4rem 0; }
.membership-routes p:not(.product-kicker) { font-size: .85rem; line-height: 1.65; color: var(--ink-70); margin: .5rem 0 1.25rem; }
.membership-routes article > a { display: flex; justify-content: space-between; gap: .5rem; margin-top: auto; padding-top: .75rem; border-top: 1px solid var(--rule); font-size: .76rem; color: var(--ink); font-weight: 600; }
.membership-page a .product-icon, .membership-page button .product-icon { width: 18px; height: 18px; }
.membership-free { display: flex; gap: 1.25rem; align-items: center; background: var(--caution-10); border: 1px solid var(--caution-20); border-radius: var(--r-sm); padding: 1.5rem; margin-top: 2rem; }
.membership-free > div { flex: 1; }
.membership-free p:not(.product-kicker) { max-width: 620px; font-size: .85rem; line-height: 1.6; color: var(--ink-70); margin: 0; }
.membership-free .product-primary { white-space: nowrap; }
.membership-questions { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: 3rem; }
.membership-questions > div > p:not(.product-kicker) { font-size: .85rem; color: var(--ink-70); line-height: 1.7; }
.membership-questions a { color: var(--info-strong); }
.membership-faq details { border-top: 1px solid var(--rule); }
.membership-faq details:last-child { border-bottom: 1px solid var(--rule); }
.membership-faq summary { cursor: pointer; padding: 1rem .25rem; font-size: .88rem; font-weight: 600; }
.membership-faq details[open] { background: var(--surface); }
.membership-faq details p { padding: 0 1rem 1rem; margin: 0; font-size: .85rem; line-height: 1.7; color: var(--ink-70); }
.membership-close { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--rule); }
.membership-close strong, .membership-close span { display: block; }
.membership-close strong { font: 600 1.6rem var(--font-display); }
.membership-close span { color: var(--ink-70); font-size: .8rem; margin-top: .5rem; }
.membership-close button { cursor: pointer; flex-shrink: 0; }
.membership-page :focus-visible { outline: 3px solid var(--info); outline-offset: 4px; }
@media(max-width: 850px) { .membership-hero { gap: 1.5rem; grid-template-columns: 1fr 1fr; } .membership-routes { grid-template-columns: 1fr; } .membership-free { flex-wrap: wrap; } .membership-free > div { flex-basis: 70%; } .membership-questions { gap: 1.5rem; grid-template-columns: 1fr; } }
@media(max-width: 600px) { .membership-page { padding-top: 1.25rem; } .membership-hero { grid-template-columns: 1fr; } .membership-intro h1 { font-size: 2.65rem; } .membership-price { padding: 1.25rem; } .membership-section-heading, .membership-close { align-items: flex-start; flex-direction: column; } .membership-section { margin-top: 2rem; } .membership-free { padding: 1.25rem; } .membership-free .product-primary, .membership-close button { width: 100%; } }
