.membership-form{padding:clamp(1.5rem,4vw,2.5rem);background:var(--white);color:var(--ink);border-radius:var(--radius-lg);box-shadow:0 24px 70px rgba(0,0,0,.18)}
.form-notice{display:flex;flex-direction:column;margin-bottom:1.5rem;padding:.8rem 1rem;border-radius:.6rem;background:var(--sky-100);border-left:3px solid var(--ocean-600);font-size:.8rem}
.form-notice span{color:var(--muted)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{display:flex;flex-direction:column;min-width:0}.field.full{grid-column:1/-1}.field label{margin-bottom:.35rem;font-size:.8rem;font-weight:800;color:var(--navy-900)}
.field input[type="text"],.field input[type="email"],.field input[type="tel"]{width:100%;height:48px;border:1px solid var(--line);border-radius:.6rem;background:var(--mist-50);padding:0 .8rem;color:var(--ink);transition:border var(--transition),box-shadow var(--transition),background var(--transition)}
.field input:hover{border-color:#adc6ce}.field input:focus{outline:0;border-color:var(--ocean-600);box-shadow:0 0 0 3px rgba(7,153,184,.13);background:var(--white)}
.field input[aria-invalid="true"]{border-color:var(--error)}
.field-error{min-height:1.15rem;margin-top:.2rem;color:var(--error);font-size:.7rem}
.checkbox-field{display:grid;grid-template-columns:auto 1fr;column-gap:.6rem;align-items:start}.checkbox-field input{width:18px;height:18px;margin:.14rem 0 0;accent-color:var(--ocean-700)}.checkbox-field label{font-weight:500;line-height:1.5}.checkbox-field .field-error{grid-column:2}
.checkbox-field label a{color:var(--ocean-700);font-weight:800}
.membership-form .button{margin-top:.4rem}
.form-status{min-height:1.5rem;margin-top:.7rem;text-align:center;font-size:.8rem;font-weight:700}
.form-status.success{color:var(--success)}.form-status.error{color:var(--error)}
