html.signup-invitation-active{overflow:hidden}
dialog.signup-invitation{position:fixed;inset:0;width:min(640px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);padding:0;margin:auto;border:0;border-radius:0;background:transparent;color:#fffdf8;overflow:auto;scrollbar-width:thin;box-shadow:none;isolation:isolate}
.signup-invitation::backdrop{background:rgba(30,18,20,.78);backdrop-filter:blur(12px)}
.signup-arch{position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:none;border:1px solid #c9b28e;border-radius:200px 200px 120px 120px;background:linear-gradient(145deg,rgba(255,253,248,.2),rgba(99,47,57,.94) 37%,rgba(69,30,40,.97));box-shadow:inset 1px 1px 0 #ffffff50,inset -1px -1px 24px #ffffff16;backdrop-filter:blur(24px);z-index:-1;pointer-events:none}
.invitation-content{width:360px;max-width:calc(100% - 48px);margin:auto;padding:22px 24px 38px;position:relative;text-align:center}
.invitation-image{width:156px;height:156px;position:relative;margin:0 auto 20px;border:1px solid #fffdf866;border-radius:50%;overflow:hidden;background:#352b26}.invitation-image>img{width:100%;height:100%;object-fit:cover;object-position:50% 56%}.invitation-image:after{content:'';position:absolute;inset:0;background:#26171633}.invitation-image svg{position:absolute;z-index:1;top:calc(50% - 26px);left:calc(50% - 26px);width:52px;height:52px;fill:#fffdf8;stroke:none}
.invitation-copy .eyebrow{font-size:10px;letter-spacing:.18em;color:#ead5b1}.signup-invitation .invitation-copy h2{position:relative;left:50%;transform:translateX(-50%);width:600px;max-width:calc(100vw - 48px);font-family:var(--font-display);font-size:52px;font-weight:500;line-height:1.1;letter-spacing:-.04em;color:#fffdf8;margin:14px 0 20px;text-shadow:0 2px 20px #24101490}.invitation-copy>p{font-size:13px;line-height:1.7;color:#fffdf8}.invitation-form{margin-top:20px;text-align:left}.invitation-form>label{display:block;font-size:12px;margin-bottom:6px}.invitation-form>input{display:block;width:100%;min-height:46px;padding:10px 14px;border:1px solid #d7cfc4;background:#fffdf8;color:#352b26;border-radius:0;font-size:15px}.invitation-form input::placeholder{color:#766c63;opacity:1}.invitation-form .invitation-consent{display:flex;align-items:start;gap:9px;font-size:11px;line-height:1.6;margin:12px 0;color:#fffdf8}.invitation-consent input{margin-top:3px;flex-shrink:0;width:16px;height:16px;accent-color:#632f39}.invitation-consent a{text-decoration:underline;text-underline-offset:3px}.signup-invitation .invitation-submit{width:100%;justify-content:center;min-height:48px;font-size:11px;letter-spacing:.04em;background:#fffdf8;color:#632f39;border:1px solid #fffdf8;border-radius:40px;padding:12px 8px}.invitation-submit:disabled{cursor:default}.invitation-status{font-size:11px;line-height:1.6;color:#fffdf8;text-align:center;margin-top:12px;min-height:18px}.invitation-decline{min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:4px;color:#fffdf8;padding:8px 12px;margin-top:4px}
.invitation-close{position:absolute;z-index:2;top:2px;right:30px;width:44px;height:44px;border:1px solid #ead5b1;border-radius:50%;background:#632f39;color:#fffdf8;font-size:28px;line-height:1;display:grid;place-items:center}.signup-invitation button:hover:not(:disabled){background:#ead5b1;color:#352b26;border-color:#ead5b1}.signup-invitation :is(button,input,a):focus-visible{outline:2px solid #ead5b1;outline-offset:3px}.invitation-form input:focus-visible{outline-color:#632f39;outline-offset:-4px}
:root[data-theme="dark"] .signup-arch{border-color:#e1c494;background:linear-gradient(145deg,#fffdf829,#632f39ef 37%,#44202af7)}:root[data-theme="dark"] .signup-invitation .invitation-submit{background:#e1c494;color:#352b26;border-color:#e1c494}
@media(max-width:600px){.invitation-content{width:320px;padding:18px 22px 32px}.signup-arch{width:100%}.signup-invitation .invitation-copy h2{font-size:clamp(29px,9.7vw,39px);margin:12px 0 18px}.invitation-image{height:128px;width:128px;margin-bottom:18px}.invitation-form>input{font-size:16px}.invitation-close{right:4px}.invitation-copy>p{font-size:12px}}
@media(max-height:720px){.invitation-content{padding-top:16px;padding-bottom:24px}.invitation-image{width:104px;height:104px;margin-bottom:12px}.signup-invitation .invitation-copy h2{font-size:clamp(28px,4.4vw,40px);margin:10px 0 12px}.invitation-form{margin-top:14px}}
/* Keep the ivory input readable even when the underlying page is in dark mode. */
:root[data-theme] .signup-invitation .invitation-form input::placeholder{color:#766c63;opacity:1}
@media(max-width:600px) and (min-height:721px){.signup-invitation .invitation-copy h2{font-size:clamp(29px,10.8vw,43px)}}
