dialog.join{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:0;border:0;border-radius:4px;
  background:#fff;color:#000;font-family:"Schibsted Grotesk",system-ui,sans-serif;box-shadow:0 30px 80px rgba(0,0,0,.45)}
dialog.join::backdrop{background:rgba(0,0,0,.7)}
.join .in{padding:clamp(22px,4vw,36px)}
.join .top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.join h2{font-family:"Libre Caslon Display",Georgia,serif;font-weight:400;font-size:clamp(28px,4vw,36px);line-height:1.05;margin:0}
.join .x{flex:none;width:40px;height:40px;margin:-8px -8px 0 0;border:0;background:none;font-size:26px;line-height:1;cursor:pointer;color:#000}
.join p.lead{margin:10px 0 22px;color:#555;font-size:15px;line-height:1.5}
.join form{display:grid;grid-template-columns:1fr 1fr;gap:14px 14px}
.join label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#444;min-width:0}
.join label.full{grid-column:1/-1}
.join input,.join select,.join textarea{font:400 16px/1.3 "Schibsted Grotesk",system-ui,sans-serif;color:#000;background:#fff;
  border:1px solid #cfcfcf;border-radius:2px;padding:11px 12px;width:100%;min-width:0}
.join textarea{min-height:96px;resize:vertical}
.join input:focus-visible,.join select:focus-visible,.join textarea:focus-visible{outline:2px solid #000;outline-offset:1px;border-color:#000}
.join .send{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:6px}
.join button.primary{min-height:50px;padding:0 28px;border:0;border-radius:2px;background:#000;color:#fff;font:500 16px/1 "Schibsted Grotesk",system-ui,sans-serif;cursor:pointer}
.join button.primary:hover{background:#222}
.join button.primary:disabled{opacity:.6;cursor:default}
.join button:focus-visible{outline:2px solid #cdb489;outline-offset:3px}
.join .status{font-size:14px;color:#a3261b;margin:0}
.join .done{text-align:left}
.join .done svg{width:44px;height:auto;margin-bottom:18px}
.join .done p{color:#555;font-size:15px;line-height:1.5;margin:10px 0 24px}
@media (max-width:520px){.join form{grid-template-columns:1fr}.join button.primary{width:100%}}
.join [hidden]{display:none!important}
