.signup-page { display:grid; max-width:1180px; gap:2.5rem; padding:2.5rem 2rem 4rem; }
.signup-intro .eyebrow { color:var(--color-orange); }
.signup-intro h1 { max-width:560px; font-size:clamp(3rem,6vw,3.75rem); font-weight:800; line-height:.94; }
.signup-intro__copy { max-width:28rem; color:var(--color-muted); font-size:1.125rem; line-height:1.55; }
.signup-progress { display:none; margin:2rem 0 0; padding:0 0 0 1.5rem; border-left:2px solid var(--color-rule); list-style:none; }
.signup-progress li { display:flex; align-items:center; gap:.75rem; margin-bottom:1.25rem; color:var(--color-muted); font:600 .72rem/1.3 var(--font-mono); letter-spacing:.1em; text-transform:uppercase; }
.signup-progress li > span { display:grid; width:1.5rem; height:1.5rem; place-items:center; border:1px solid var(--color-rule); border-radius:50%; font-size:.625rem; }
.signup-progress li[data-state="current"],.signup-progress li[data-state="complete"] { color:var(--color-forest); }
.signup-progress li[data-state="current"] > span,.signup-progress li[data-state="complete"] > span { border-color:var(--color-forest); background:var(--color-forest); color:var(--color-white); }
.signup-form { min-width:0; }
.signup-step + .signup-step { margin-top:2rem; }
.signup-step { padding:1.5rem; }
.signup-step[hidden],.signup-step button[hidden] { display:none !important; }
.signup-step__status { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:2rem; color:var(--color-forest); font:700 .72rem/1.3 var(--font-mono); letter-spacing:.1em; text-transform:uppercase; }
.signup-step__status > span:last-child { display:flex; gap:.5rem; }
.signup-step__status i { display:block; width:3rem; height:.375rem; background:var(--color-rule); }
.signup-step[data-step="1"] .signup-step__status i:first-child,.signup-step[data-step="2"] .signup-step__status i { background:var(--color-forest); }
.signup-step h2 { font-size:clamp(2rem,4vw,2.25rem); font-weight:800; letter-spacing:-.03em; }
.signup-step h2:focus { outline:3px solid var(--color-ink); outline-offset:.25rem; }
.signup-step h2 + p { margin-top:.5rem; color:var(--color-muted); }
.signup-step .form-field { margin-top:1.5rem; }
.signup-step label { margin-top:0; color:var(--color-ink-soft); font-size:.68rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.signup-step label span { color:var(--color-muted); font-weight:400; }
.signup-step textarea { min-height:4.875rem; }
.signup-step > button[data-signup-step-target="continue"] { width:100%; margin-top:1.5rem; border:0; background:var(--color-forest); color:var(--color-white); box-shadow:none; }
.signup-contact-grid { display:grid; gap:0 1.25rem; }
.signup-step__actions { display:flex; flex-direction:column; gap:.75rem; margin-top:1.5rem; }
.signup-step__actions > * { flex:1; }
.signup-step__actions .button--secondary { border:1px solid var(--color-rule); background:var(--color-white); color:var(--color-ink); box-shadow:none; }
.signup-step__actions input[type="submit"] { border:0; background:var(--color-orange); color:var(--color-white); box-shadow:none; }
.signup-step button:hover,.signup-step input[type="submit"]:hover { transform:none; box-shadow:none; }
.signup-consent { margin:1rem auto 0; color:var(--color-muted); font-size:.75rem; line-height:1.6; text-align:center; }
@media(min-width:768px) {
  .signup-page { padding-block:4rem; }
  .signup-step { padding:2.5rem; }
  .signup-contact-grid { grid-template-columns:1fr 1fr; }
  .signup-step__actions { flex-direction:row; }
}
@media(min-width:1024px) {
  .signup-page { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:start; gap:2.5rem; }
  .signup-progress { display:block; }
}
@media(max-width:767px) {
  .signup-page { width:100%; padding-inline:1.25rem; }
}
