.membership-overview{padding-block:48px 64px;background:#fff;color:#183640}
.membership-container{width:min(var(--site-container,1320px),calc(100% - var(--site-gutter,24px) * 2));margin-inline:auto;min-width:0}
.membership-intro{max-width:1000px;margin-bottom:40px}
.membership-date{display:inline-block;margin-bottom:16px;padding:8px 14px;background:#edf6f3;border-radius:24px;color:#276a62;font-size:var(--membership-note-size,13px);font-weight:600}
.frontend-site .membership-overview h1,.frontend-site .membership-overview h2{font-size:var(--membership-title-size,32px);margin:0 0 20px}
.membership-overview p,.membership-panel li{font-size:var(--membership-content-size,15px);line-height:1.75;white-space:pre-line;overflow-wrap:anywhere}
.membership-intro p{margin:0}
.membership-overview .membership-section-title{padding-left:20px;border-left:5px solid #ffca28}
.membership-plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.membership-plan{--membership-accent:#276a62;--membership-tint:#edf7f3;min-width:0;padding:26px 24px;border:1px solid #18364012;border-top:4px solid var(--membership-accent);border-radius:16px;background:var(--membership-tint)}
.membership-plan:nth-child(2){--membership-accent:#436a9a;--membership-tint:#edf3fa}
.membership-plan:nth-child(3){--membership-accent:#896017;--membership-tint:#fff6df}
.membership-plan:nth-child(4){--membership-accent:#795181;--membership-tint:#f7eff8}
.membership-plan-number{display:grid;place-items:center;width:42px;height:42px;margin-bottom:22px;background:var(--membership-accent);color:#fff;border-radius:12px;font-size:18px;font-weight:600}
.frontend-site .membership-plan h3{font-size:var(--membership-plan-title-size,20px);margin:0 0 20px}
.membership-overview .membership-fee{font-size:var(--membership-fee-size,38px);font-weight:700;line-height:1.25;letter-spacing:-1px;color:var(--membership-accent);margin:0 0 6px;white-space:normal}
.membership-fee>span{font-size:.65em;margin-right:4px;vertical-align:top}
.membership-plan .membership-billing{margin:0 0 16px;color:var(--membership-accent);font-weight:600}
.membership-plan-content{margin:0;padding-top:16px;border-top:1px solid #1836401a}
.membership-overview .membership-terms{font-size:var(--membership-note-size,13px);margin:14px 0 0;color:#64757c}
.membership-information{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px}
.membership-panel{padding:32px;min-width:0;border:1px solid #dce8e5;border-radius:16px;background:#f4faf7}
.membership-panel.membership-requirements{background:#f1f5fb;border-color:#dce4ef}
.frontend-site .membership-panel h2{font-size:var(--membership-panel-title-size,24px)}
.membership-panel ul{list-style:none;padding:0;margin:0;display:grid;gap:18px}
.membership-panel li{display:flex;align-items:flex-start;gap:12px}
.membership-panel li>span{display:grid;place-items:center;flex:0 0 26px;height:26px;background:#276a62;color:#fff;border-radius:50%;font-size:14px}
.membership-requirements li>span{background:#436a9a}
.membership-panel li>div{min-width:0}
.membership-registration{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:32px;margin-top:40px;padding:36px;border-radius:18px;background:linear-gradient(125deg,#173342,#28545e);color:#fff}
.membership-registration>div{min-width:0}
.membership-registration p{margin:0}
.membership-registration-action{text-align:center}
.membership-register-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;max-width:100%;padding:16px 22px;border:0;border-radius:10px;background:#ffca28;color:#173342;font-size:var(--membership-button-size,15px);font-weight:600;overflow-wrap:anywhere;text-align:center;text-decoration:none;line-height:1.5}
.membership-register-button:hover{background:#ffda69}
.membership-register-button:disabled{cursor:default;opacity:.85}
.membership-register-button:focus-visible{outline:3px solid #fff;outline-offset:5px}
.membership-registration .membership-registration-note{font-size:var(--membership-note-size,13px);color:#e3edf0;margin-top:12px}
@media(max-width:1100px){.membership-plans{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.membership-information,.membership-registration{grid-template-columns:minmax(0,1fr)}.membership-registration-action{text-align:left}}
@media(max-width:540px){.membership-plans{grid-template-columns:minmax(0,1fr)}.membership-overview{padding-block:32px 40px}.membership-panel,.membership-registration{padding:24px}}
