.join{isolation:isolate;min-height:100svh;padding-inline:var(--gutter);grid-template-rows:auto 1fr;display:grid;position:relative;overflow-x:clip}.join:after{content:"";z-index:-1;background:radial-gradient(ellipse 70% 60% at 50% 48%, #4a1812 0%, var(--wall) 42%, var(--wall-deep) 100%);position:fixed;inset:0}.join:before{content:"";pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:fixed;inset:0}.join__progress{z-index:2;background:var(--ivory);transform-origin:0;width:100%;height:2px;transition:transform .9s var(--ease);position:fixed;top:0;left:0}.join__bar{z-index:1;letter-spacing:.28em;text-transform:uppercase;color:var(--ivory-faint);grid-template-columns:1fr auto 1fr;align-items:center;padding-block:clamp(18px,3.4vh,32px);font-size:.66rem;display:grid;position:relative}.join__back{letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;transition:color .4s var(--ease);background:0 0;border:0;padding:8px 0}.join__back:hover{color:var(--ivory)}.join__mark{font-family:var(--font-display);letter-spacing:.3em;color:var(--ivory);margin-right:-.3em;font-size:.95rem;text-decoration:none}.join__count{font-variant-numeric:tabular-nums;justify-self:end}.join__stage{align-self:center;width:min(100%,640px);margin-inline:auto;padding-block:clamp(24px,6vh,72px) clamp(48px,10vh,120px);position:relative}.step{animation:step-in .8s var(--ease) both;justify-items:start;display:grid}.step[data-back]{animation-name:step-back}.step__n{letter-spacing:.3em;text-transform:uppercase;color:var(--ivory-faint);font-size:.66rem}.step__title{font-family:var(--font-serif);letter-spacing:.005em;text-wrap:balance;margin-top:14px;font-size:clamp(2rem,5vw,3.1rem);font-weight:300;line-height:1.06}.step__title:focus{outline:none}.step__hint{max-width:44ch;font-family:var(--font-serif);color:var(--ivory-soft);margin-top:14px;font-size:1.2rem;font-style:italic;line-height:1.45}.step__form{gap:18px;width:100%;margin-top:clamp(24px,4vh,40px);display:grid}.step__input{width:100%;font-family:var(--font-serif);border:0;border-bottom:1px solid var(--hairline);transition:border-color .4s var(--ease);background:0 0;border-radius:0;padding:8px 0 12px;font-size:clamp(1.5rem,3.6vw,2rem);font-weight:300;line-height:1.3}.step__input--note{resize:none;font-size:clamp(1.25rem,2.8vw,1.5rem)}.step__input::placeholder{color:var(--ivory-faint);font-style:italic}.step__input:focus{border-bottom-color:var(--ivory);outline:none}.step__actions{flex-wrap:wrap;align-items:center;gap:12px 20px;width:100%;margin-top:clamp(24px,4vh,36px);display:flex}.step__form .step__actions{margin-top:6px}.step__legal{color:var(--ivory-faint);font-size:.82rem;line-height:1.5}.step__legal a{color:var(--ivory-soft);text-underline-offset:3px;text-decoration:underline}.step__next{margin-top:0;padding-inline:34px}.step__next:disabled{opacity:.35;cursor:default}.step__next:disabled:hover{background:var(--ivory);color:var(--wall-deep)}.step__enter{letter-spacing:.24em;text-transform:uppercase;color:var(--ivory-faint);font-size:.62rem}.choices{gap:10px;width:100%;margin-top:clamp(24px,4vh,40px);list-style:none;display:grid}.choice{text-align:left;border:1px solid var(--hairline);cursor:pointer;width:100%;transition:background-color .35s var(--ease), border-color .35s var(--ease), color .35s var(--ease);background:#1206044d;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:14px 18px;display:grid}.choice:hover{border-color:var(--ivory-soft)}.choice:disabled{opacity:.4;cursor:default}.choice:disabled:hover{border-color:var(--hairline)}.choice__key{border:1px solid var(--hairline);width:24px;height:24px;transition:border-color .35s var(--ease);place-items:center;font-size:.62rem;font-weight:400;display:grid}.choice__text{gap:3px;display:grid}.choice__label{font-family:var(--font-serif);font-size:1.35rem;line-height:1.15}.choice__detail{color:var(--ivory-soft);font-size:.82rem}.choice__note{color:var(--ivory-faint)}.choice__tick{opacity:0;transition:opacity .3s var(--ease), transform .3s var(--ease);font-size:.9rem;transform:scale(.6)}.choice[aria-pressed=true]{background:var(--ivory);border-color:var(--ivory);color:var(--wall-deep);animation:chosen .4s var(--ease)}.choice[aria-pressed=true] .choice__key{border-color:#12060459}.choice[aria-pressed=true] .choice__detail,.choice[aria-pressed=true] .choice__note{color:#1206049e}.choice[aria-pressed=true] .choice__tick{opacity:1;transform:none}.pass{border:1px solid var(--hairline);outline-offset:6px;width:100%;animation:rise 1.4s .3s var(--ease) both;background:#1206046b;outline:1px solid #f2eadf14;margin-block:clamp(28px,5vh,44px);padding:clamp(22px,4vw,36px)}.pass__head{letter-spacing:.3em;text-transform:uppercase;color:var(--ivory-faint);justify-content:space-between;align-items:center;font-size:.62rem;display:flex}.pass__stamp{border:1px solid var(--ivory-soft);color:var(--ivory);padding:5px 9px 5px 11px}.pass__tier{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;margin-top:clamp(20px,4vh,32px);font-size:clamp(1.9rem,5vw,2.6rem);line-height:1}.pass__terms{font-family:var(--font-serif);color:var(--ivory-soft);margin-top:10px;font-size:1.15rem;font-style:italic}.pass__rows{border-top:1px solid var(--hairline);margin-top:clamp(20px,3.5vh,28px);display:grid}.pass__rows>div{border-bottom:1px solid var(--hairline);grid-template-columns:110px 1fr;gap:16px;padding-block:11px;display:grid}.pass__rows dt{letter-spacing:.26em;text-transform:uppercase;color:var(--ivory-faint);padding-top:2px;font-size:.62rem}.pass__rows dd{color:var(--ivory-soft);font-size:.92rem;line-height:1.45}@keyframes step-in{0%{opacity:0;transform:translateY(28px)}}@keyframes step-back{0%{opacity:0;transform:translateY(-28px)}}@keyframes chosen{40%{transform:scale(.985)}}@media (max-width:640px){.join__bar{letter-spacing:.22em;font-size:.6rem}.join__mark{font-size:.82rem}.join__stage{align-self:start;padding-top:12px}.choice{gap:12px;padding:12px 14px}.choice__label{font-size:1.2rem}.step__next{flex:1}.pass__rows>div{grid-template-columns:1fr;gap:2px}}@media (hover:none){.step__enter,.choice__key{display:none}}
