body.invitation-is-open{overflow:hidden}
.invitation-dialog{color:var(--ink);background:var(--paper,#faf8f1);border:1px solid var(--line);border-radius:16px;width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:36px 38px 26px;overscroll-behavior:contain;box-shadow:0 24px 100px #142c3250}
.invitation-dialog::backdrop{background:#182e27a8;backdrop-filter:blur(4px)}
.invitation-dialog:not([open]){display:none}
.invitation-close{position:absolute;right:12px;top:10px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--green);font:30px/1 var(--sans);cursor:pointer}
.invitation-close:hover{background:#e7eddf}
.invitation-dialog h2,.invitation-card h1{font-size:44px;line-height:1.06;letter-spacing:-1.2px;margin:0 0 17px}
.invitation-dialog .eyebrow,.invitation-card .eyebrow{margin-bottom:15px;padding-right:20px}
.invitation-description{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 22px}
.invitation-field{display:grid;gap:7px;margin-bottom:16px}
.invitation-field label{font-size:12px;line-height:1.5;font-weight:600}
.invitation-field label span{font-weight:400;color:var(--muted);font-size:11px;margin-left:5px}
.invitation-field input,.invitation-field textarea{width:100%;min-width:0;padding:11px 13px;border:1px solid #a7b29e;border-radius:6px;background:#fffefa;color:var(--ink);font:16px/1.5 var(--sans);box-sizing:border-box}
.invitation-field textarea{resize:vertical;min-height:88px;max-height:200px}
.invitation-field textarea::placeholder{font-size:13px;color:#687263}
.invitation-field [aria-invalid=true]{border-color:#ae432d}
.invitation-field input:focus-visible,.invitation-field textarea:focus-visible,.invitation-close:focus-visible{outline:3px solid #8aa074;outline-offset:3px}
.invitation-error{font-size:12px;color:#913c27;line-height:1.5}
.invitation-error:empty{display:none}
.invitation-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.invitation-submit{width:100%;margin-top:3px;justify-content:center;font:600 12px/1.5 var(--sans);cursor:pointer}
.invitation-submit:disabled{opacity:.65;cursor:wait}
.invitation-privacy{font-size:11px;line-height:1.7;color:var(--muted);margin:13px 0 0}
.invitation-contact{font-size:11px;line-height:1.6;color:var(--muted);margin:16px 0 0}
.invitation-contact a,.invitation-privacy a{text-decoration:underline;text-underline-offset:3px}
.invitation-status{padding:15px 17px;border:1px solid #d5aa92;background:#fff0e6;color:#833d28;font-size:14px;line-height:1.7;border-radius:8px;margin-bottom:20px}
.invitation-status.is-success{background:#eaf0e1;border-color:#a6b59b;color:var(--green)}
.invitation-status[hidden],.invitation-fields[hidden]{display:none}
[data-invitation-challenge]{margin-bottom:16px}
.invitation-card{max-width:520px;margin:50px auto 80px;padding:34px 38px;border:1px solid var(--line);border-radius:16px;background:#f7f7ef}
.request-page .site-header{justify-content:space-between}
@media(max-width:600px){.invitation-dialog{padding:30px 24px 24px}.invitation-dialog h2,.invitation-card h1{font-size:38px}.invitation-card{margin:28px 16px 50px;padding:28px 24px}.request-page .site-header>.text-link{font-size:11px}.invitation-description{font-size:13px}.invitation-field label span{margin-left:0;display:inline-block}}
@media(max-height:700px){.invitation-dialog{padding-top:24px}.invitation-dialog h2{font-size:34px}.invitation-dialog h2 br{display:none}.invitation-description{margin-bottom:14px}.invitation-field{margin-bottom:12px}.invitation-field textarea{min-height:64px}}
@media print{.invitation-dialog,.invitation-form{display:none!important}}
