/* Shared base styles also serve the deliberately disabled public form. */
.membership-form .form-status{display:block;min-height:3em;font-size:13px;line-height:1.5;color:var(--ink2);margin-top:12px}
.membership-form .form-status>span,.membership-form .submit-loading{display:none}
.membership-form[data-state="loading"] .status-loading,.membership-form[data-state="success"] .status-success,.membership-form[data-state="invalid"] .status-invalid,.membership-form[data-state="error"] .status-error,.membership-form[data-state="loading"] .submit-loading{display:inline}
.membership-form[data-state="loading"] .submit-default{display:none}
.membership-form[data-state="invalid"] input{outline:2px solid var(--ink);outline-offset:3px}
.membership-form [tabindex="-1"]:focus{outline:2px solid var(--ink);outline-offset:4px}
.membership-form[aria-busy="true"]{cursor:wait}
.membership-form[aria-disabled="true"] .form-status{display:none}
.landing-v2 .join-inline .form{display:flex;align-items:center;gap:12px;width:100%;padding:0;background:transparent;border:0;border-radius:0}
.landing-v2 .join-inline .form input[type="email"]{flex:1;min-width:0;width:100%;height:40px;padding:0;font-size:14px;background:transparent}
.landing-v2 .join-inline button{flex:none;cursor:pointer}
.landing-v2 .join-inline button:disabled{cursor:not-allowed}
.landing-v2 .join-inline button .submit-default{display:flex;align-items:center;gap:10px}
.landing-v2 .join-inline[data-state="loading"] button .submit-default{display:none}
.landing-v2 .join-inline fieldset{width:100%}
.landing-v2 .join-inline .mail-help{font-size:12px;line-height:1.5;margin-top:12px;color:var(--ink2)}
@media(max-width:860px){.landing-v2 .join-inline .form{flex-direction:row;gap:6px}.landing-v2 .join-inline .form input[type="email"]{font-size:16px}.landing-v2 .join-inline button{font-size:11px;padding:13px 11px}.membership-form input[type="email"]{font-size:16px}}

.landing-v2 .join-inline .form input[type="email"],.membership-form button{min-height:44px}

.membership-form[data-state="success"] .status-success,.membership-form[data-state="invalid"] .status-invalid,.membership-form[data-state="error"] .status-error{display:block;border-radius:3px}

/* The honeypot: a field a person never sees and a robot fills in. Kept out of the
   layout and out of the accessibility tree, never with display:none, which some
   robots read as a signal to skip it. */
.website-field {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
