/* Signup-only additions; the shared application brand and native form remain intact. */
.aip-frontend .aip-signup-intro h1 {
    font-size: clamp(1.65rem, 5vw, 2.25rem);
    line-height: 1.45;
    margin-block: 0 .75rem;
}
.aip-signup-intro > p { margin-block: .75rem 1rem; }
.aip-signup-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .5rem;
    padding: 0;
    margin-block: 1.25rem;
    list-style: none;
    counter-reset: signup-step;
}
.aip-signup-steps li {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-size: .85rem;
    font-weight: 700;
    line-height: 1.45;
}
.aip-signup-steps li::before {
    counter-increment: signup-step;
    content: counter(signup-step);
    display: grid;
    place-items: center;
    flex: 0 0 1.7rem;
    inline-size: 1.7rem;
    block-size: 1.7rem;
    border: 1px solid var(--aip-border);
    border-radius: 50%;
    background: var(--aip-surface);
}
.aip-signup-steps [aria-current="step"]::before {
    color: #fff;
    background: var(--aip-primary);
    border-color: var(--aip-primary);
}
.aip-signup-reassurance {
    padding: .8rem 1rem;
    border-radius: .75rem;
    background: var(--aip-mint);
    font-size: .9rem;
}
.aip-frontend #signup-form { margin-block-start: 1.25rem; }
.aip-frontend #signup-form .aip-field-help { font-size: .875rem; line-height: 1.65; }
.aip-frontend #signup-form .aip-signup-toggle { font-size: .875rem; margin-block-start: .25rem; }
.aip-frontend #signup-form [hidden] { display: none; }
.aip-frontend #signup-submit { white-space: normal; }
.aip-frontend #signup-submit:disabled { cursor: wait; opacity: .75; }
.aip-frontend #signup-submit-status { margin-block-end: 0; }
@media (max-width: 360px) {
    .aip-signup-steps li { flex-direction: column; text-align: center; font-size: .8rem; }
}
