.membership-hero { min-height: 600px; padding: clamp(90px, 12vw, 164px) 0 130px; border-bottom: 1px solid var(--line); position: relative; overflow: hidden; }
.membership-hero::before { content: ''; position: absolute; width: 760px; height: 760px; right: -210px; top: -150px; background: radial-gradient(circle, rgba(46, 157, 255, .24), transparent 64%); pointer-events: none; }
.membership-hero > * { position: relative; }
.account-requirement { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 100px; padding: 110px 0; border-bottom: 1px solid var(--line); }
.account-requirement h2 { font-size: clamp(40px, 5vw, 69px); }
.account-requirement-copy > p { color: var(--muted); line-height: 1.8; max-width: 580px; margin: 4px 0 30px; }
.account-requirement-copy strong { color: var(--ice); }
.account-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.account-actions .button { font-size: 10px; }
.plans-section { padding: 140px 0; }
.membership-heading { margin-bottom: 34px; }
.interval-switch { display: inline-flex; border: 1px solid var(--line); margin: 0 0 32px; padding: 4px; background: rgba(216, 233, 251, .025); }
.interval-option { border: 0; background: transparent; color: var(--muted); padding: 10px 18px; cursor: pointer; font: 600 10px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.interval-option small { color: var(--electric); margin-left: 8px; font: inherit; }
.interval-option.is-active { background: #d7edff; color: #06101d; }
.plan-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.plan-card { min-height: 515px; border: 1px solid var(--line); padding: 32px 28px 28px; display: flex; flex-direction: column; background: linear-gradient(150deg, rgba(15, 29, 46, .88), rgba(3, 7, 13, .98)); }
.plan-card-featured { border-color: rgba(114, 199, 255, .7); background: linear-gradient(150deg, rgba(26, 67, 105, .84), rgba(4, 12, 22, .98)); box-shadow: 0 0 50px rgba(38, 152, 255, .12); }
.plan-index { color: #92d4ff; font: 500 10px var(--mono); letter-spacing: .1em; margin: 0 0 42px; }
.plan-card h3 { font-size: clamp(34px, 3.2vw, 48px); line-height: .91; }
.plan-description { color: var(--muted); font-size: 13px; line-height: 1.7; min-height: 68px; margin: 22px 0 24px; }
.price-block { margin-top: auto; border-top: 1px solid var(--line); padding-top: 20px; min-height: 144px; }
.price-block strong { font: 600 clamp(46px, 5vw, 68px)/1 var(--display); letter-spacing: -.06em; }
.price-block > span { color: #b2c0d0; font-size: 12px; margin-left: 7px; }
.price-block small, .price-block em { display: block; color: var(--muted); font-size: 11px; line-height: 1.55; margin-top: 12px; }
.price-block em { color: #9fddff; font: 700 13px var(--mono); letter-spacing: .03em; text-transform: uppercase; }
.is-hidden { display: none !important; }
.plan-card .button { margin-top: 24px; width: 100%; }
.enrollment-note { color: var(--muted); font: 500 11px var(--mono); letter-spacing: .03em; margin: 22px 0 0; min-height: 18px; }
.enrollment-note.is-closed { color: #f0c886; }
.how-section { padding: 130px 0; border-top: 1px solid var(--line); }
.steps-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); }
.steps-grid article { padding: 25px 22px 10px 0; border-right: 1px solid var(--line); min-height: 206px; }
.steps-grid article:not(:first-child) { padding-left: 22px; }
.steps-grid article:last-child { border-right: 0; }
.steps-grid span { color: var(--electric); font: 500 10px var(--mono); letter-spacing: .1em; }
.steps-grid h3 { font-size: 21px; margin: 35px 0 12px; letter-spacing: -.04em; }
.steps-grid p { color: var(--muted); font-size: 12px; line-height: 1.65; margin: 0; }
.disclosure-section { padding: 80px 0 130px; }
.disclosure-panel { padding: 56px; border: 1px solid var(--line); background: radial-gradient(circle at 88% 11%, rgba(56, 159, 255, .18), transparent 32%), #09101a; }
.disclosure-panel h2 { font-size: clamp(39px, 5vw, 68px); }
.disclosure-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 60px; margin-top: 52px; }
.disclosure-grid > div { border-top: 1px solid var(--line); padding-top: 14px; }
.disclosure-grid strong { color: var(--ice); font-size: 14px; }
.disclosure-grid p { color: var(--muted); font-size: 12px; line-height: 1.7; margin: 10px 0 0; }
.manage-link { margin-top: 40px; padding: 0; background: transparent; border: 0; color: var(--electric); cursor: pointer; font: 600 10px var(--mono); text-transform: uppercase; letter-spacing: .1em; }
.manage-link span { font-size: 18px; margin-left: 8px; }
.terms-section { padding: 50px 0 100px; border-top: 1px solid var(--line); }
.terms-section > p:last-child { color: var(--muted); max-width: 850px; font-size: 12px; line-height: 1.85; margin: 0; }
.modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 20px; }
.modal[hidden] { display: none; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(1, 4, 8, .78); backdrop-filter: blur(8px); }
.modal-card { position: relative; width: min(100%, 590px); max-height: calc(100vh - 40px); overflow: auto; padding: 42px; background: #0a101a; border: 1px solid rgba(114, 199, 255, .45); box-shadow: 0 34px 100px rgba(0, 0, 0, .64); }
.modal-card h2 { font-size: clamp(36px, 5vw, 56px); }
.modal-card > p:not(.eyebrow) { color: var(--muted); line-height: 1.7; font-size: 13px; }
.modal-close { position: absolute; right: 16px; top: 12px; background: transparent; border: 0; color: var(--ice); font-size: 29px; cursor: pointer; }
.modal-card form { margin-top: 28px; }
.modal-card label:not(.check-row) { display: block; color: #b7c3d2; font: 500 10px var(--mono); letter-spacing: .08em; text-transform: uppercase; margin: 0 0 10px; }
.modal-card input[type='email'] { display: block; width: 100%; background: #050a11; border: 1px solid var(--line); color: var(--ice); padding: 15px 14px; border-radius: 0; outline: 0; font: 14px var(--body); }
.modal-card input[type='email']:focus { border-color: var(--electric); box-shadow: 0 0 0 3px rgba(114, 199, 255, .1); }
.check-row { display: flex; gap: 10px; align-items: flex-start; color: #b0bfce; font-size: 11px; line-height: 1.55; margin: 16px 0; cursor: pointer; }
.check-row input { margin: 2px 0 0; accent-color: var(--electric); }
.modal-card .button { margin-top: 10px; width: 100%; border: 0; cursor: pointer; }
.form-status { min-height: 20px; color: #f0c886; font-size: 11px; line-height: 1.5; margin: 15px 0 0; }
.form-status.is-success { color: #9de5c3; }
@media (max-width: 900px) { .account-requirement { grid-template-columns: 1fr; gap: 28px; padding: 90px 0; }.plan-grid { grid-template-columns: 1fr; }.plan-card { min-height: 420px; }.steps-grid { grid-template-columns: 1fr 1fr; }.steps-grid article:nth-child(2) { border-right: 0; }.steps-grid article:nth-child(n+3) { border-top: 1px solid var(--line); padding-top: 25px; }.disclosure-grid { gap: 24px; }.disclosure-panel { padding: 38px 28px; } }
@media (max-width: 560px) { .membership-hero { min-height: 535px; padding: 100px 0 90px; }.account-actions .button { width: 100%; }.plans-section, .how-section { padding: 90px 0; }.steps-grid, .disclosure-grid { grid-template-columns: 1fr; }.steps-grid article, .steps-grid article:not(:first-child) { padding: 22px 0; border-right: 0; border-top: 1px solid var(--line); }.steps-grid article:first-child { border-top: 0; }.disclosure-section { padding: 40px 0 90px; }.modal-card { padding: 34px 24px; } }
