/* The venue's blue and violet universe surrounds one short enrollment form. */
.membership-page{--join-ink:#050817;--join-paper:#f3edf4;--join-muted:#b3b4ce;--join-blue:#8398ea;--join-violet:#55419e;--join-brass:#d9c4a3;background:var(--join-ink);color:var(--join-paper);min-height:100svh;isolation:isolate}
.join-universe{position:fixed;inset:0 0 auto;height:100vh;height:100lvh;overflow:hidden;z-index:-1;pointer-events:none;background:#111031;contain:strict;transform:translateZ(0)}
.join-nebula{position:absolute;inset:0 -10% 0 -27%;isolation:isolate;mask-image:linear-gradient(90deg,#000 65%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 65%,transparent 100%)}
.join-nebula img,.join-galaxy-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}.join-galaxy-film{opacity:0}.join-galaxy-film[data-ready="true"]{opacity:1}.join-galaxy-film[hidden]{display:none}
.join-spectrum{position:absolute;inset:0;background:linear-gradient(130deg,#7264ab90 10%,#626be94d 42%,#75518e85 69%,#17233b 100%);mix-blend-mode:color;opacity:.72}
.join-nebula[data-film-ready="true"] .join-galaxy-poster{visibility:hidden}
.join-shade{position:absolute;inset:0;background:linear-gradient(90deg,#05081708 0%,transparent 38%,#05081733 70%,#05081780),linear-gradient(180deg,#05081780,transparent 26%,transparent 70%,#050817c2)}
.join-header{position:relative;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:20px;height:94px;padding:0 4.5vw;border-bottom:1px solid #c9c4e21a;background:#070b1924}
.join-return.lounge-action{font-size:17px}
.join-layout{width:90%;max-width:1390px;min-height:calc(100svh - 145px);margin:auto;padding:30px 0 38px;display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:7%;position:relative;z-index:3}
.join-world{min-width:0;position:relative;padding:12px 0 10px}
.join-world-title{font:400 clamp(66px,6.5vw,100px)/.95 var(--serif);letter-spacing:-.035em;color:#fff6f0;text-shadow:0 3px 40px #080c33b3;margin:0 0 52px 5%}
.join-card-stage{width:91%;max-width:455px;perspective:1300px;margin:0 auto}
.join-card-float{transform:translateY(0)}
.galaxy-card{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:1.62;border-radius:21px;border:1px solid #d9c3dda8;background:#111e4e;box-shadow:0 2px 0 #8790b764,0 7px 0 -3px #101830,0 30px 60px #020514aa,inset 0 0 0 6px #9c9bc510;transform-style:preserve-3d;--light-x:45%;--light-y:30%}
.galaxy-card:after{content:'';position:absolute;inset:9px;border:1px solid #d3c3e030;border-radius:13px;pointer-events:none}
.galaxy-card-art{position:absolute;inset:-10%;z-index:-3;background:linear-gradient(120deg,#4267a93d,#5e2c8e82),url('assets/member-card-nebula.webp') 38% 65%/cover;filter:saturate(.55);opacity:.78}
.galaxy-card:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(150deg,#17204335,#17123845 35%,#091028bc 76%),linear-gradient(100deg,#3a258766,#234a8b66);pointer-events:none}
.galaxy-card-light{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse at var(--light-x) var(--light-y),#cfdaff38,transparent 65%);pointer-events:none}
.galaxy-card-top{position:absolute;inset:23px 26px auto;display:flex;justify-content:space-between;align-items:center}.galaxy-card-top img{width:74px;height:auto;filter:drop-shadow(0 3px 8px #0204148f)}
.galaxy-card-top>span{font:400 17px/1.1 var(--serif);color:#eadcde;text-align:right}.galaxy-card-top small{display:block;font:400 8px/1.3 var(--sans);color:#c3b2cf;margin-top:7px}
.galaxy-card-wordmark{position:absolute;left:27px;top:34%;font:400 clamp(17px,1.8vw,24px)/1 var(--serif);color:#f5e5e6;text-shadow:0 2px 14px #050a34}
.galaxy-card-wordmark strong{display:block;font:500 clamp(54px,5.8vw,78px)/.93 var(--serif);letter-spacing:-.04em;margin-top:1px}
.galaxy-card-bottom{position:absolute;inset:auto 27px 25px;display:flex;justify-content:space-between;align-items:baseline;gap:14px;color:#f0e4e9}
.galaxy-card-bottom>span{min-width:0;max-width:84%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 clamp(16px,1.7vw,23px)/1.15 var(--serif)}.galaxy-card-bottom small{font:400 8px/1.2 var(--sans);color:#c0b3cc}
.join-card-caption{margin:44px 0 0;text-align:center;font:400 11px/1.6 var(--sans);color:#dfd4ee;text-shadow:0 1px 9px #050817}
.join-address{margin-top:31px;text-align:center;color:#b3adc9;font-size:10px;letter-spacing:.02em}
.join-panel{position:relative;isolation:isolate;min-width:0;border-radius:28px;padding:35px clamp(28px,3.1vw,49px) 26px;background:linear-gradient(135deg,#10172fe8,#0b0d23ed 72%) padding-box,linear-gradient(145deg,#c6c8fb70,#667ca425 50%,#a577c14a) border-box;border:1px solid transparent;box-shadow:0 24px 70px #03051280,inset 0 1px #ced1ff0a;backdrop-filter:blur(16px)}
.join-panel-light{position:absolute;inset:0;z-index:-1;border-radius:inherit;background:radial-gradient(ellipse at 15% 8%,#677bea22,transparent 63%);pointer-events:none}
.join-intro h1{font:400 clamp(40px,3.9vw,59px)/1.04 var(--serif);letter-spacing:-.035em;color:#f6edf3;text-wrap:balance;margin:0 0 14px}
.join-intro>p{font:400 12px/1.7 var(--sans);color:#b6b9d0;max-width:38ch;margin:0 0 27px}
.join-form{width:100%}.join-name-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.join-field{min-width:0;margin-bottom:19px}
.join-field label{display:block;color:#d5d4e8;font:400 12px/1.4 var(--sans);margin-bottom:8px}
.join-input{position:relative;border:1px solid #7981ab40;border-radius:12px;background:#080e2080;transition:border-color .25s,box-shadow .25s,background .25s}
.join-input:focus-within{border-color:#9faafa;box-shadow:0 0 0 3px #8697ff17,0 0 25px #7b54c81c;background:#11172c}
.join-input input{display:block;width:100%;min-width:0;max-width:100%;height:55px;padding:13px 35px 13px 15px;border:0;outline:none;border-radius:inherit;background:transparent;color:#f4eef8;font:400 18px/1.3 var(--serif);box-shadow:none;-webkit-appearance:none;appearance:none}
.join-input input::placeholder{color:#8186a4;opacity:1}.join-input input[type=email]{font:400 14px/1.3 var(--sans)}
.join-input input[type=date]{padding-right:15px;font:400 15px/1.3 var(--sans);color-scheme:dark;min-height:55px;text-align:left}.join-input input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:24px}
.join-input input[type=date]::-webkit-calendar-picker-indicator{opacity:.72;cursor:pointer;padding:4px}
.join-input input:-webkit-autofill{-webkit-text-fill-color:#f4eef8;box-shadow:0 0 0 1000px #11172c inset}
.field-check{position:absolute;right:13px;top:50%;transform:translateY(-30%);opacity:0;color:#d7c7a9;font:400 13px/1 var(--sans);transition:opacity .2s,transform .2s;pointer-events:none}
.join-field[data-valid=true] .field-check{transform:translateY(-50%);opacity:1}.join-field[data-valid=true] .join-input{border-color:#ada1cf66}
.join-field[data-invalid=true] .join-input{border-color:#de9eb4}.join-error{font:400 10px/1.6 var(--sans);color:#f0b9cc}.join-error:not(:empty){margin-top:7px}
.join-submit-area{margin-top:26px}.join-submit.lounge-action{width:auto;min-height:48px;padding:11px 23px;font-size:19px;border-radius:999px}
.join-submit.lounge-action:disabled{opacity:.55}.join-submit[data-ready=true]{box-shadow:inset 0 1px 1px #ffffff20,0 6px 30px #626bdd40}
.join-preview-note{font:400 10px/1.65 var(--sans);color:#a0a3c0;margin:12px 0 0;text-align:left}
.join-submit-error{color:#edbdce;font:400 12px/1.6 var(--sans);margin-top:12px}.join-submit-error:empty{display:none}
.join-help{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:23px;padding-top:20px;border-top:1px solid #949bcc23}
.join-help>a{color:#b1b3cf;font-size:10px}.join-help>a:hover{color:#f3edf4}.join-data.lounge-action{min-height:44px;padding:8px 2px;font-size:16px}
.join-noscript{font-size:12px;line-height:1.65;margin-top:18px}.join-noscript a{text-decoration:underline}
.join-footer{position:relative;z-index:3;width:90%;max-width:1390px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:13px 65px 19px 0;color:#a2a5bd;font-size:9px}.join-footer button{padding:10px 0;color:inherit;background:none;border:0;font:inherit;cursor:pointer}.join-footer button:hover{color:#f3edf4}.join-footer button:focus-visible{outline:2px solid #9faafa;outline-offset:4px}
.membership-page .motion-toggle{bottom:17px;right:22px;z-index:10}.membership-page .edge-smoke{z-index:5;inset:94px 0 0}.membership-page .edge-smoke__pass{width:min(76vw,1080px)}
.member-reveal{position:fixed;width:min(600px,calc(100% - 30px));max-width:600px;isolation:isolate;border:1px solid #b3a7d86e;border-radius:28px;background:linear-gradient(155deg,#151d3a,#121028 80%);padding:54px 38px 32px;overflow-x:hidden;box-shadow:0 25px 110px #020414b3}
.member-reveal::backdrop,.join-privacy::backdrop{background:#020614c9;backdrop-filter:blur(10px)}
.member-reveal h2{position:relative;width:100%;max-width:none;text-align:center;margin:9px auto 34px;font:400 46px/1.04 var(--serif);letter-spacing:-.025em;text-wrap:balance}.member-reveal h2:focus{outline:none}
.reveal-aura{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 25% 40%,#527fff4d,transparent 60%),radial-gradient(ellipse at 90% 45%,#923fd34d,transparent 55%);pointer-events:none}
.reveal-card{width:92%;max-width:415px;margin:0 auto 30px;perspective:1000px}.reveal-card .galaxy-card{transform:rotate(-3deg)}
.reveal-card .galaxy-card-wordmark{font-size:23px}.reveal-card .galaxy-card-wordmark strong{font-size:69px}.reveal-card .galaxy-card-bottom>span{font-size:22px}
.member-reveal #card-reveal-description{font:400 12px/1.8 var(--sans);color:#bbb8d3;margin:0 auto;max-width:38ch}
.member-reveal .reveal-return{margin:20px auto 0;font-size:17px;min-height:44px;padding:8px 2px}
.join-receipt-reference{font-size:10px;overflow-wrap:anywhere;margin-top:15px;color:#c6b4d4}
.join-privacy{border-radius:24px;background:#10162a;border-color:#b7a6d15c;text-align:left}.join-privacy h2{font-size:44px}.join-privacy p{font-size:13px;line-height:1.8;margin-top:18px}
@media(min-width:1500px){.join-panel{padding-block:43px 31px}.join-layout{gap:9%}.join-input input{height:59px}.join-field{margin-bottom:23px}.join-world-title{margin-bottom:70px}.join-card-stage{max-width:490px}}
@media(max-width:1050px) and (min-width:761px){.join-layout{width:92%;gap:4%;grid-template-columns:.9fr 1fr}.join-world-title{font-size:67px;margin-left:0;margin-bottom:45px}.join-card-stage{width:96%}.join-panel{padding:30px 26px 24px}.join-intro h1{font-size:44px}.galaxy-card-top{inset:17px 19px auto}.galaxy-card-top img{width:61px}.galaxy-card-wordmark{left:20px;top:34%;font-size:19px}.galaxy-card-wordmark strong{font-size:55px}.galaxy-card-bottom{inset:auto 20px 20px}.galaxy-card-bottom>span{font-size:18px}.join-card-caption{font-size:10px}.join-address{font-size:9px}}
@media(max-width:760px){
 .join-header{height:78px;padding:0 22px;gap:15px}.join-header .brand-symbol{display:none}.join-header .brand-type{font-size:25px}.join-return.lounge-action{font-size:16px;min-height:44px;padding:8px 2px}
 /* Keep the moving galaxy across the entire mobile scene, beyond the card. */
 .join-nebula{inset:0;mask-image:none;-webkit-mask-image:none}
 .join-nebula img,.join-galaxy-film{inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:46% 50%;mask-image:none;-webkit-mask-image:none}
 .join-spectrum{opacity:.48}
 .join-shade{background:linear-gradient(180deg,#05081755,transparent 18%,transparent 72%,#05081766)}
 .join-layout{display:block;width:100%;min-height:calc(100svh - 127px);padding:26px 21px 20px}
 .join-world{display:block;padding:12px 0 22px;margin:0 0 18px}
 .join-world-title,.join-card-caption,.join-address{display:none}
 .join-card-stage{width:78%;max-width:260px}
 .join-world .galaxy-card-top{inset:15px 18px auto}.join-world .galaxy-card-top img{width:45px}
 .join-world .galaxy-card-top>span{font-size:13px}.join-world .galaxy-card-top small{font-size:8px;margin-top:4px}
 .join-world .galaxy-card-wordmark{top:33%;left:19px;font-size:17px}.join-world .galaxy-card-wordmark strong{font-size:48px;line-height:.93}
 .join-world .galaxy-card-bottom{inset:auto 19px 15px;gap:10px}.join-world .galaxy-card-bottom>span{font-size:16px}.join-world .galaxy-card-bottom small{font-size:8px}
 .join-panel{border:0;border-radius:0;padding:0;background:none;box-shadow:none;backdrop-filter:none}.join-panel-light{display:none}
 .join-intro{padding:0 5px;text-shadow:0 1px 2px #030512,0 0 6px #030512,0 0 18px #030512}.join-intro h1{font-size:43px;line-height:1.02;margin-bottom:12px;text-wrap:balance}.join-intro>p{font-size:11px;line-height:1.7;margin-bottom:24px;color:#dfdff0}.desktop-break{display:none}
 .join-form{padding:22px 20px 21px;border:1px solid #b2b7ed59;border-radius:22px;background:linear-gradient(145deg,#101830d9,#0b1029eb);box-shadow:0 15px 45px #02081966;backdrop-filter:blur(10px)}
 .join-name-row{gap:12px}.join-field{margin-bottom:17px}.join-field label{font-size:11px;margin-bottom:7px}.join-input input{height:54px;font-size:19px;padding-left:12px;padding-right:29px}.join-input input[type=email]{font-size:16px}.join-input input[type=date]{font-size:16px}.field-check{right:10px;font-size:11px}
 .join-submit-area{margin-top:23px}.join-submit.lounge-action{min-height:44px;font-size:18px;padding:10px 19px}.join-preview-note{font-size:9px;margin-top:11px}.join-help{padding-top:17px;margin-top:20px;gap:12px}.join-help>a{font-size:9px;max-width:14ch;line-height:1.65}.join-data.lounge-action{font-size:16px;padding-inline:2px;min-height:44px}
 .join-footer{width:auto;margin:0 24px;padding:4px 54px 18px 0;font-size:8px}.membership-page .motion-toggle{bottom:13px;right:16px}.membership-page .edge-smoke{inset:78px 0 0}.membership-page .edge-smoke__pass{width:114vw}
 .member-reveal{border-radius:23px;padding:49px 20px 27px;max-height:calc(100svh - 24px)}.member-reveal h2{font-size:37px;margin-bottom:27px}.reveal-card{width:100%;max-width:360px;margin-bottom:26px}.reveal-card .galaxy-card-wordmark{font-size:19px;left:21px;top:33%}.reveal-card .galaxy-card-wordmark strong{font-size:56px}.reveal-card .galaxy-card-top{inset:17px 21px auto}.reveal-card .galaxy-card-top img{width:62px}.reveal-card .galaxy-card-bottom{inset:auto 21px 20px}.reveal-card .galaxy-card-bottom>span{font-size:18px}.member-reveal #card-reveal-description{font-size:11px}.member-reveal .reveal-return{font-size:16px;padding-inline:2px;min-height:44px}.join-privacy{padding:54px 26px 30px}
}
@media(max-width:360px){.join-header{padding-inline:17px}.join-return.lounge-action{font-size:16px;padding-inline:2px}.join-layout{padding:21px 15px 17px}.join-form{padding:20px 16px 19px}.join-intro h1{font-size:38px}.join-intro>p{font-size:10px}.join-name-row{gap:10px}.join-input input{font-size:18px;padding-left:10px}.join-submit.lounge-action{font-size:18px}.join-help{gap:7px}.join-data.lounge-action{font-size:15px}.reveal-card .galaxy-card-top img{width:53px}.reveal-card .galaxy-card-wordmark strong{font-size:49px}.reveal-card .galaxy-card-wordmark{font-size:17px}.reveal-card .galaxy-card-bottom{bottom:15px}.reveal-card .galaxy-card-bottom>span{font-size:17px}}
@media(prefers-reduced-motion:reduce){.join-nebula{will-change:auto}.join-input,.field-check{transition:none}.join-card-float,.galaxy-card{transform:none!important}.member-reveal[open]{animation:none}}

/* A quiet form while typing; the approved puff resumes when focus leaves. */
.membership-page .edge-smoke{transition:opacity .5s ease}
.membership-page:has(.join-form:focus-within) .edge-smoke{opacity:.15}
.join-intro>p{font-size:14px}.join-card-caption{font-size:12px}.join-help>a{font-size:12px}.join-preview-note{font-size:11px}
@media(max-width:760px){.join-intro>p{font-size:13px}.join-field label{font-size:12px}.join-help>a{font-size:11px;max-width:18ch}.join-preview-note{font-size:10px}.join-footer{font-size:10px}}
@media(max-width:360px){.join-intro>p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.membership-page .edge-smoke{transition:none}}

/* Wallet actions belong to the card confirmation, not to the registration fields. */
.member-wallet{position:relative;margin:25px 0 0;padding:24px 0 0;border-top:1px solid #aaa2c22b;text-align:center}
.member-wallet h3{font:400 29px/1.1 var(--serif);color:#f3efeb;letter-spacing:-.015em}
.member-wallet .wallet-description{font:400 11px/1.6 var(--sans);color:#c3bdd1;margin:12px auto;max-width:41ch}
.wallet-actions{display:flex;flex-direction:column;gap:18px;align-items:center;margin:22px 0}
.wallet-actions[hidden],.wallet-actions [hidden],.wallet-retry[hidden]{display:none}
.wallet-actions button{cursor:pointer;border:0;padding:0;background:transparent;line-height:0}
.wallet-actions .wallet-google img{display:block;width:280px;max-width:100%;height:auto}
.wallet-actions .wallet-apple{display:flex;align-items:center;justify-content:center;min-height:48px;width:280px;max-width:100%;border:1px solid #fff5;border-radius:7px;background:#080809;color:#fff;font:500 16px/1.3 var(--sans);padding:10px}
.wallet-actions button:disabled{opacity:.6;cursor:wait}.wallet-actions button:focus-visible,.wallet-retry:focus-visible{outline:2px solid #d4b7ef;outline-offset:6px}
.member-wallet .wallet-status{font:400 11px/1.65 var(--sans);color:#c6bdce;max-width:42ch;margin:13px auto 0;min-height:2.8em}
.wallet-retry{font:400 13px/1.4 var(--sans);color:#efe9f4;border:0;background:none;text-decoration:underline;cursor:pointer;margin:12px auto 0;padding:8px}
@media(max-width:400px){.member-wallet h3{font-size:26px}.wallet-actions .wallet-google img,.wallet-actions .wallet-apple{width:250px}}
