.sponsor-actions{margin-top:28px;text-align:center}
#sponsor-dialog{width:min(640px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:0;background:var(--bg);color:var(--ink)}
.sponsor-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:28px 32px 0}
.sponsor-dialog-head h2{font-size:42px;margin:10px 0 0}
.sponsor-close{flex:none;width:40px;height:40px;border:1px solid #b3bda7;border-radius:50%;background:transparent;color:var(--ink);font-size:20px;line-height:1}
.sponsor-close:hover{background:#eef2dc}
.sponsor-dialog-body{padding:14px 32px 32px}
#sponsor-intro{margin:0 0 24px;font-size:13px;line-height:1.8;color:var(--muted)}
#sponsor-form{display:grid;gap:24px}
#sponsor-form[hidden]{display:none}
#sponsor-form textarea{resize:vertical;min-height:88px}
#sponsor-form :focus-visible,.sponsor-close:focus-visible,.sponsor-actions button:focus-visible{outline:3px solid #37794f;outline-offset:2px}
#sponsor-dialog[data-state=sending] #sponsor-intro,
#sponsor-dialog[data-state=done] #sponsor-intro,
#sponsor-dialog[data-state=done] #sponsor-title{display:none}

/* The loader and confirmation reuse the court, badge and keyframes from waitlist.css. */
.sponsor-sending{display:flex;flex-direction:column;align-items:center;gap:26px;padding:56px 0 44px;text-align:center;outline:none}
.sponsor-sending[hidden],.sponsor-done[hidden]{display:none}
.sponsor-sending p{margin:0;font:10px var(--mono);letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.sponsor-done{display:flex;flex-direction:column;align-items:center;padding:30px 0 6px;text-align:center;outline:none}
.sponsor-done .eyebrow{margin:0;animation:done-rise .5s ease .45s both}
.sponsor-done h3{font:40px/1.08 var(--serif);font-weight:400;letter-spacing:-1px;margin:14px 0 14px;animation:done-rise .5s ease .55s both}
.sponsor-done .button{margin-top:28px;animation:done-rise .5s ease .75s both}
body:has(#sponsor-dialog[open]){overflow:hidden}
@media(max-width:760px){.sponsor-dialog-head{padding:22px 20px 0}.sponsor-dialog-head h2{font-size:34px}.sponsor-dialog-body{padding:12px 20px 24px}.sponsor-done h3{font-size:34px}}
@media(prefers-reduced-motion:reduce){.sponsor-done .eyebrow,.sponsor-done h3,.sponsor-done .button{animation:none}}

.hero .sponsor-hero-cta{pointer-events:auto;background:var(--lime);border:1px solid var(--lime);color:var(--deep)}.hero .sponsor-hero-cta:hover{background:#e4efad;border-color:#e4efad}.hero .sponsor-hero-cta:focus-visible{outline:3px solid #fffbed;outline-offset:4px}
