.cf-signup-wrap{
    max-width: var(--cf-public-max);
    margin: 0 auto;
    padding: 34px 18px 56px;
}

.cf-signup-wrap--center{
    max-width: 980px;
}

.cf-signup-center{
    display:flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.cf-signup-hero{
    text-align: center;
    max-width: 70ch;
    margin: 0 auto;
}

.cf-signup-hero__eyebrow{
    display:inline-flex;
    font-weight: 900;
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    background: rgba(37,99,235,.10);
    border: 1px solid rgba(37,99,235,.16);
    padding: 10px 14px;
    border-radius: 999px;
}
.su-theme-dark .cf-signup-hero__eyebrow{ background: rgba(37,99,235,.16); border-color: rgba(37,99,235,.22); }

.cf-signup-hero__title{
    font-size: clamp(28px, 3.2vw, 42px);
    line-height: 1.08;
    letter-spacing: -.02em;
    margin: 14px 0 10px;
    font-weight: 950;
}

.cf-signup-hero__lead{ margin: 0; opacity: .86; line-height: 1.65; }

.cf-signup-feature-row{
    margin-top: 14px;
    display:flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
}

.cf-signup-feature{
    display:inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(148,163,184,.10);
    border: 1px solid rgba(148,163,184,.16);
    font-weight: 900;
    font-size: 12px;
    letter-spacing: .02em;
    opacity: .9;
}
.su-theme-dark .cf-signup-feature{ background: rgba(148,163,184,.08); border-color: rgba(148,163,184,.14); }

.cf-signup-grid{
    display:grid;
    grid-template-columns: 1fr 520px;
    gap: 24px;
    align-items: start;
}

@media (max-width: 1080px){
    .cf-signup-grid{ grid-template-columns: 1fr; }
}

.cf-signup-aside{
    position: sticky;
    top: calc(var(--cf-public-nav-h) + 18px);
    align-self: start;
}

@media (max-width: 1080px){
    .cf-signup-aside{ position: static; }
}

.cf-signup-aside__eyebrow{
    display:inline-flex;
    font-weight: 900;
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    background: rgba(37,99,235,.10);
    border: 1px solid rgba(37,99,235,.16);
    padding: 10px 14px;
    border-radius: 999px;
}
.su-theme-dark .cf-signup-aside__eyebrow{ background: rgba(37,99,235,.16); border-color: rgba(37,99,235,.22); }

.cf-signup-aside__title{
    font-size: clamp(28px, 3.2vw, 42px);
    line-height: 1.08;
    letter-spacing: -.02em;
    margin: 14px 0 10px;
    font-weight: 950;
}

.cf-signup-aside__lead{ margin: 0; opacity: .86; line-height: 1.65; max-width: 62ch; }

.cf-signup-aside__bullets{ margin: 16px 0 0; padding-left: 18px; line-height: 1.7; opacity: .88; }

.cf-signup-card{
    padding: 18px;
}

.cf-signup-card--center{
    width: min(980px, 100%);
    padding: 22px;
    overflow: hidden;
}

.cf-signup-card__title{
    font-weight: 950;
    font-size: 18px;
    margin: 0;
}

.cf-signup-card__subtitle{ margin: 6px 0 0; opacity: .78; line-height: 1.5; }

.cf-register .su-field,
.cf-register .su-field__control{
    min-width: 0;
}

.cf-register *{
    box-sizing: border-box;
}

.cf-register .su-input,
.cf-register .su-select,
.cf-register .su-textarea{
    width: 100%;
}

.cf-form-section{
    margin-top: 18px;
    padding: 14px;
    border-radius: 16px;
    background: rgba(148,163,184,.06);
    border: 1px solid rgba(148,163,184,.14);
}

.su-theme-dark .cf-form-section{
    background: rgba(148,163,184,.06);
    border-color: rgba(148,163,184,.12);
}

.cf-form-section:first-of-type{
    margin-top: 12px;
}

.cf-form-section__title{
    font-weight: 950;
    letter-spacing: -.01em;
    margin: 0 0 10px;
    display:flex;
    align-items: baseline;
    justify-content: space-between;
}

.cf-form-grid{
    display:grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 14px;
}

.cf-form-grid > .su-field{
    min-width: 0;
    max-width: 100%;
    grid-column: auto;
}

@media (max-width: 760px){
    .cf-form-grid{ grid-template-columns: 1fr; }
}

.cf-form-actions{
    display:flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid rgba(148,163,184,.18);
}
.su-theme-dark .cf-form-actions{ border-top-color: rgba(148,163,184,.14); }

.cf-stepper{
    display:flex;
    gap: 10px;
    flex-wrap: wrap;
    margin: 16px 0 18px;
}

.cf-step{
    display:flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(148,163,184,.12);
    border: 1px solid rgba(148,163,184,.16);
    font-weight: 900;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: .6;
}

.su-theme-dark .cf-step{ background: rgba(148,163,184,.10); border-color: rgba(148,163,184,.14); }

.cf-step__dot{
    width: 26px;
    height: 26px;
    border-radius: 999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size: 12px;
    font-weight: 950;
    background: rgba(148,163,184,.14);
}

.su-theme-dark .cf-step__dot{ background: rgba(148,163,184,.12); }

.cf-step.is-active{ opacity: 1; background: rgba(37,99,235,.12); border-color: rgba(37,99,235,.20); }
.su-theme-dark .cf-step.is-active{ background: rgba(37,99,235,.18); border-color: rgba(37,99,235,.28); }
.cf-step.is-active .cf-step__dot{ background: rgba(37,99,235,.18); }
.su-theme-dark .cf-step.is-active .cf-step__dot{ background: rgba(37,99,235,.26); }

.cf-step.is-done{ opacity: .92; }
.cf-step.is-done .cf-step__dot{ background: rgba(16,185,129,.18); }
.su-theme-dark .cf-step.is-done .cf-step__dot{ background: rgba(16,185,129,.22); }

.cf-step-panels{ margin-top: 10px; }
.cf-step-panel{ display:none; }
.cf-step-panel.is-active{ display:block; }

.cf-step-panel__grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 560px){ .cf-step-panel__grid{ grid-template-columns: 1fr; } }

.cf-step-actions{ display:flex; gap: 10px; justify-content: space-between; align-items:center; margin-top: 16px; flex-wrap: wrap; }
.cf-step-actions__right{ display:flex; gap: 10px; flex-wrap: wrap; }

.cf-auth-flash{ margin: 12px 0 14px; }

.cf-auth-note{ margin-top: 12px; font-size: 13px; opacity: .8; line-height: 1.55; }

.cf-auth-links{ margin-top: 14px; display:flex; gap: 10px; flex-wrap: wrap; align-items: center; justify-content: center; }
.cf-auth-links a{ text-decoration:none; font-weight: 800; }

.cf-auth-center{ display:flex; align-items:center; justify-content:center; min-height: calc(100vh - var(--cf-public-nav-h)); }

.cf-login-card{ width: min(520px, 100%); padding: 18px; }

.cf-login-form{ margin-top: 14px; }
