.membership-hero{min-height:62vh;display:flex;flex-direction:column;justify-content:flex-end;background:var(--forest);color:var(--paper);padding-top:12rem}.membership-hero h1{max-width:1100px;font-size:clamp(3.4rem,8vw,8rem);line-height:.88;margin:.5rem 0 2rem}.membership-hero h1 em{display:block;color:var(--lime);font-weight:400}.membership-hero>p:last-child{max-width:760px;font-size:1.2rem;line-height:1.7}.membership-plans{background:var(--paper)}.membership-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;margin-top:3rem}.membership-card{border:1px solid color-mix(in srgb,var(--forest) 20%,transparent);padding:2rem;display:flex;flex-direction:column;gap:1rem;min-height:470px}.membership-card h3{font-family:serif;font-size:2rem;margin:0}.plan-hours,.plan-additional{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.plan-price{display:flex;align-items:end;gap:.5rem}.plan-price strong{font-size:2.5rem}.membership-card .button{margin-top:auto}.membership-terms{max-width:900px;margin:2.5rem auto 0;text-align:center}.membership-enrollment,.member-portal{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:5rem;align-items:start}.membership-enrollment{background:var(--cream)}.membership-enrollment form,.member-portal form{background:var(--paper);padding:2rem;border:1px solid rgba(0,0,0,.1)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.membership-enrollment label,.member-portal label{display:grid;gap:.45rem;margin-bottom:1rem}.membership-enrollment input,.member-portal input{padding:.9rem;border:1px solid rgba(0,0,0,.22);background:white}.selected-plan{padding:1rem;margin-bottom:1.2rem;background:var(--forest);color:white}.consent-line{grid-template-columns:auto 1fr!important;align-items:start}.membership-status,.member-portal form p{min-height:1.4rem}.member-portal{background:var(--paper)}.membership-confirmation{min-height:70vh;padding-top:13rem}.membership-confirmation dl{display:grid;grid-template-columns:160px 1fr;max-width:650px;margin:2rem 0}.membership-confirmation dt,.membership-confirmation dd{padding:.8rem;border-bottom:1px solid rgba(0,0,0,.15);margin:0}@media(max-width:980px){.membership-grid{grid-template-columns:1fr 1fr}.membership-enrollment,.member-portal{grid-template-columns:1fr}.membership-hero{padding-top:9rem}}@media(max-width:640px){.membership-grid,.form-grid{grid-template-columns:1fr}.membership-card{min-height:auto}}
