.membership-layout{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,2fr);gap:48px;align-items:start}
.membership-intro{position:sticky;top:110px}.membership-intro h2{font-size:clamp(1.7rem,3vw,2.25rem);margin:18px 0}.membership-intro p{line-height:1.75}.membership-intro>a{font-size:14px;color:var(--blue-deep)}
.membership-perks{list-style:none;padding:0;margin:28px 0}.membership-perks li{display:flex;align-items:center;gap:12px;margin:18px 0;font-size:14px}.membership-perks i{color:var(--blue-deep);font-size:20px}
.membership-card h2{font-size:24px;margin-bottom:12px}.membership-card fieldset{margin:28px 0;padding:0;border:0;min-width:0}.membership-card .membership-gate{margin:0}.membership-card legend{font-family:var(--disp);font-size:17px;font-weight:600;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:20px}.membership-card legend span{font-family:var(--mono);font-size:12px;color:var(--blue-deep);margin-right:12px}
.membership-card .form-label{line-height:1.5}.membership-card .optional{font-size:10px;text-transform:none;letter-spacing:0}.membership-card textarea{resize:vertical}.membership-card .form-select:focus{background-color:var(--surface-2);color:var(--ink);border-color:var(--blue-deep)}
.membership-card .form-control:disabled,.membership-card .form-select:disabled{background-color:var(--surface-2);color:var(--ink-soft)}
.membership-check{display:flex;align-items:flex-start;gap:10px;font-size:14px;margin:14px 0;color:var(--ink-soft)}.membership-check input{width:18px;height:18px;flex-shrink:0;margin-top:2px;accent-color:var(--blue)}
.field-hint{font-size:12.5px;line-height:1.65;color:var(--ink-soft);margin:8px 0}.field-error{font-size:13px;color:var(--red);margin:6px 0}.registration-errors{border:1px solid var(--red);padding:18px;border-radius:10px;margin:20px 0}.registration-errors a{text-decoration:underline}.registration-errors ul{font-size:13px;margin:12px 0 0;padding-left:18px}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.membership-submit{margin-top:14px;width:100%;justify-content:center}.membership-submit:disabled{opacity:.65;cursor:wait}.registration-success>i{font-size:44px;color:var(--green);display:block;margin-bottom:20px}.registration-success p{line-height:1.75}.application-reference{padding:14px;background:var(--surface-2);border-radius:10px;font-family:var(--mono);font-size:13px;margin:24px 0}
.registration-closed{overflow:hidden}.registration-preview{filter:blur(7px);pointer-events:none;user-select:none}.registration-closed footer{visibility:hidden}
.registration-lock{position:fixed;inset:76px 0 0;z-index:1010;display:grid;place-items:center;padding:24px;background:rgba(10,13,18,.48);overflow:auto;backdrop-filter:blur(3px)}
.opening-notice{position:relative;width:min(100%,600px);padding:44px 36px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:0 28px 90px rgba(0,0,0,.3);overflow:hidden}
.opening-stripe{position:absolute;inset:0 0 auto;height:5px;display:flex}.opening-stripe span{flex:1}.opening-stripe span:nth-child(1){background:var(--red)}.opening-stripe span:nth-child(2){background:var(--green)}.opening-stripe span:nth-child(3){background:var(--skyblue)}.opening-stripe span:nth-child(4){background:var(--gold)}
.opening-icon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:16px;margin:0 auto 22px;background:var(--surface-2);color:var(--gold);font-size:26px}
.opening-notice .eyebrow{font-size:11px;letter-spacing:.1em}.opening-notice h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.2;margin:18px 0 12px}.opening-notice time{display:block;color:var(--blue-deep);margin-top:8px}.opening-ready{font-family:var(--disp);font-size:24px;font-weight:600;margin:0 0 14px}.opening-notice .soft{font-size:14px;line-height:1.7;margin-bottom:26px}
html[data-theme="light"] .registration-lock{background:rgba(246,248,251,.4)}
@media(max-width:991px){.membership-layout{grid-template-columns:1fr;gap:28px}.membership-intro{position:static}.membership-intro h2 br{display:none}.membership-card{padding:28px}}
@media(max-width:480px){.membership-card{padding:22px 18px}.registration-lock{padding:18px}.opening-notice{padding:30px 20px}.opening-notice .eyebrow{font-size:9px}.opening-icon{margin-bottom:16px}}
@media(max-height:600px){.registration-lock{place-items:start center}.opening-notice{padding:22px}.opening-icon{display:none}}
