    /* The shared card is sized for the 420px login box; a wizard with
       option cards needs more room.
       Signup pages only (Signup/Index and Signup/MiServices). */
    .home-page .home-card {
        max-width: 560px;
        padding: 1.75rem 2.25rem 2.25rem;
    }

    .signup-wizard {
        text-align: left;
        color: #1A202C;
    }

    /* ---- chrome (progress, counter, nav) : JS-only ---------------- */
    .signup-wizard .sw-chrome { display: none; }
    .signup-wizard.js-wizard .sw-chrome { display: block; }

    .signup-wizard .sw-track {
        height: 4px;
        background: #E2E8F0;
        border-radius: 999px;
        overflow: hidden;
        margin: 0 0 0.625rem 0;
    }
    .signup-wizard .sw-fill {
        display: block;
        height: 100%;
        width: 0;
        background: #0D9488;
        border-radius: 999px;
        transition: width 260ms ease;
    }
    .signup-wizard .sw-counter {
        font-size: 0.75rem;
        font-weight: 600;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: #A0AEC0;
        margin: 0 0 1.5rem 0;
    }

    /* ---- steps ---------------------------------------------------- */
    .signup-wizard .sw-step { margin-bottom: 2.5rem; }
    .signup-wizard.js-wizard .sw-step { display: none; margin-bottom: 0; }
    .signup-wizard.js-wizard .sw-step.sw-active {
        display: block;
        animation: swInFwd 240ms ease both;
    }
    .signup-wizard.js-wizard .sw-step.sw-active.sw-rev {
        animation: swInRev 240ms ease both;
    }

    @keyframes swInFwd {
        from { opacity: 0; transform: translateY(14px); }
        to   { opacity: 1; transform: translateY(0); }
    }
    @keyframes swInRev {
        from { opacity: 0; transform: translateY(-14px); }
        to   { opacity: 1; transform: translateY(0); }
    }

    .signup-wizard .sw-eyebrow {
        font-size: 0.75rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: #0D9488;
        margin: 0 0 0.375rem 0;
    }
    .signup-wizard h2.sw-question {
        font-size: 1.5rem;
        line-height: 1.25;
        font-weight: 700;
        color: #1A202C;
        margin: 0 0 0.5rem 0;
        padding: 0;
        border: none;
    }
    .signup-wizard .sw-help {
        font-size: 0.9375rem;
        line-height: 1.5;
        color: #718096;
        margin: 0 0 1.5rem 0;
    }

    /* ---- fields --------------------------------------------------- */
    .signup-wizard .sw-field { margin: 0 0 1.125rem 0; }
    .signup-wizard .sw-field > label {
        display: block;
        font-size: 0.8125rem;
        font-weight: 600;
        color: #4A5568;
        margin: 0 0 0.375rem 0;
        padding: 0;
    }
    .signup-wizard .sw-field input[type="text"],
    .signup-wizard .sw-field input[type="email"],
    .signup-wizard .sw-field input[type="tel"],
    .signup-wizard .sw-field input[type="number"],
    .signup-wizard .sw-field input[type="password"] {
        width: 100%;
        box-sizing: border-box;
        margin: 0;
        padding: 0.6875rem 0.875rem;
        font-size: 1.0625rem;
        line-height: 1.4;
        color: #1A202C;
        background: #fff;
        border: 1px solid #CBD5E0;
        border-radius: 0.5rem;
        transition: border-color 0.15s, box-shadow 0.15s;
    }
    .signup-wizard .sw-field input:focus {
        border-color: #0D9488;
        outline: none;
        box-shadow: 0 0 0 3px rgba(13,148,136,0.15);
    }
    .signup-wizard .sw-field input.input-validation-error {
        border-color: #E53E3E;
    }
    /* First/last name side by side. Floats, not flex — this page is
       served to whatever the customer's office is running. */
    .signup-wizard .sw-row { overflow: hidden; }
    .signup-wizard .sw-row .sw-col {
        float: left;
        width: 48%;
        margin-right: 4%;
    }
    .signup-wizard .sw-row .sw-col-last { margin-right: 0; }

    .signup-wizard .sw-note {
        font-size: 0.8125rem;
        line-height: 1.45;
        color: #718096;
        margin: 0.375rem 0 0 0;
    }
    .signup-wizard .field-validation-error {
        display: block;
        font-size: 0.8125rem;
        font-weight: 500;
        color: #C53030;
        margin: 0.375rem 0 0 0;
    }
    .signup-wizard .validation-summary-errors {
        background: #FFF5F5;
        border: 1px solid #FEB2B2;
        border-radius: 0.5rem;
        padding: 0.75rem 1rem;
        margin: 0 0 1.25rem 0;
        color: #C53030;
        font-size: 0.875rem;
    }
    .signup-wizard .validation-summary-errors ul { margin: 0; padding-left: 1.125rem; }
    .signup-wizard .validation-summary-valid { display: none; }

    /* ---- persona option cards ------------------------------------- */
    .signup-wizard .sw-options { margin: 0 0 0.5rem 0; }
    .signup-wizard .sw-option {
        display: block;
        position: relative;
        margin: 0 0 0.625rem 0;
        padding: 0;
        font-weight: normal;
        cursor: pointer;
    }
    .signup-wizard .sw-option input[type="radio"] {
        position: absolute;
        opacity: 0;
        width: 1px;
        height: 1px;
        margin: 0;
    }
    .signup-wizard .sw-option .sw-option-body {
        display: block;
        padding: 0.875rem 1rem;
        border: 1px solid #CBD5E0;
        border-radius: 0.625rem;
        background: #fff;
        transition: border-color 0.15s, box-shadow 0.15s, background-color 0.15s;
    }
    .signup-wizard .sw-option:hover .sw-option-body { border-color: #0D9488; }
    .signup-wizard .sw-option input:focus ~ .sw-option-body {
        border-color: #0D9488;
        box-shadow: 0 0 0 3px rgba(13,148,136,0.15);
    }
    .signup-wizard .sw-option.is-selected .sw-option-body {
        border-color: #0D9488;
        background: #F0FDFA;
        box-shadow: inset 0 0 0 1px #0D9488;
    }
    .signup-wizard .sw-option .sw-option-title {
        display: block;
        font-size: 1.0625rem;
        font-weight: 600;
        color: #1A202C;
    }
    .signup-wizard .sw-option .sw-option-blurb {
        display: block;
        font-size: 0.8125rem;
        color: #718096;
        margin-top: 0.125rem;
    }

    /* ---- checkbox rows -------------------------------------------- */
    .signup-wizard .sw-check {
        display: block;
        overflow: hidden; /* contains the floated box */
        margin: 0 0 0.5rem 0;
        padding: 0.875rem 1rem;
        border: 1px solid #CBD5E0;
        border-radius: 0.625rem;
        font-weight: normal;
        cursor: pointer;
    }
    .signup-wizard .sw-check input[type="checkbox"] {
        float: left;
        margin: 0.3125rem 0.75rem 0 0;
    }
    .signup-wizard .sw-check .sw-check-title {
        display: block;
        overflow: hidden;
        font-size: 0.9375rem;
        font-weight: 600;
        color: #1A202C;
    }
    .signup-wizard .sw-check .sw-check-blurb {
        display: block;
        overflow: hidden;
        font-size: 0.8125rem;
        color: #718096;
        margin-top: 0.125rem;
    }

    /* ---- price preview (JS only) ---------------------------------- */
    .signup-wizard .sw-price { display: none; }
    .signup-wizard.js-wizard .sw-price {
        display: block;
        margin: 1.5rem 0 0 0;
        padding: 1rem 1.125rem;
        background: #F7FAFC;
        border: 1px solid #E2E8F0;
        border-radius: 0.625rem;
    }
    .signup-wizard .sw-price-band {
        font-size: 0.75rem;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: #718096;
        margin: 0 0 0.5rem 0;
    }
    .signup-wizard .sw-price-line {
        display: table;
        width: 100%;
        font-size: 0.9375rem;
        color: #4A5568;
        margin: 0 0 0.25rem 0;
    }
    .signup-wizard .sw-price-line span { display: table-cell; }
    .signup-wizard .sw-price-line span + span { text-align: right; white-space: nowrap; }
    .signup-wizard .sw-price-total {
        border-top: 1px solid #CBD5E0;
        margin-top: 0.625rem;
        padding-top: 0.625rem;
        font-size: 1.25rem;
        font-weight: 700;
        color: #1A202C;
    }
    .signup-wizard .sw-price-foot {
        font-size: 0.8125rem;
        color: #718096;
        margin: 0.5rem 0 0 0;
        line-height: 1.45;
    }
    .signup-wizard .sw-price-enterprise {
        font-size: 0.9375rem;
        line-height: 1.5;
        color: #78350F;
        background: #FFFAF0;
        border: 1px solid #F6AD55;
        border-radius: 0.5rem;
        padding: 0.75rem 0.875rem;
        margin: 0;
    }

    /* ---- per-document rate card (JS only) ------------------------- */
    .signup-wizard .sw-rates { display: none; }
    .signup-wizard.js-wizard .sw-rates {
        display: block;
        margin: 0 0 1.125rem 0;
        padding: 1rem 1.125rem;
        background: #F7FAFC;
        border: 1px solid #E2E8F0;
        border-radius: 0.625rem;
    }

    /* ---- review --------------------------------------------------- */
    .signup-wizard .sw-review { display: none; }
    .signup-wizard.js-wizard .sw-review { display: block; }
    .signup-wizard .sw-review-row {
        display: table;
        width: 100%;
        padding: 0.4375rem 0;
        border-bottom: 1px solid #EDF2F7;
        font-size: 0.9375rem;
    }
    .signup-wizard .sw-review-k {
        display: table-cell;
        width: 42%;
        color: #718096;
        padding-right: 0.75rem;
    }
    .signup-wizard .sw-review-v {
        display: table-cell;
        color: #1A202C;
        font-weight: 600;
        word-break: break-word;
    }

    /* ---- navigation ----------------------------------------------- */
    .signup-wizard .sw-nav {
        margin-top: 1.75rem;
        overflow: hidden;
    }
    .signup-wizard .sw-btn {
        float: right;
        background: #0D9488;
        color: #fff;
        border: none;
        border-radius: 0.5rem;
        padding: 0.75rem 1.75rem;
        font-size: 1rem;
        font-weight: 600;
        cursor: pointer;
        font-family: inherit;
        -webkit-appearance: none;
        transition: background-color 0.15s ease;
    }
    .signup-wizard .sw-btn:hover { background: #0F766E; }
    .signup-wizard .sw-back {
        float: left;
        background: none;
        border: none;
        padding: 0.75rem 0;
        font-size: 0.9375rem;
        color: #718096;
        cursor: pointer;
        font-family: inherit;
        text-decoration: underline;
    }
    .signup-wizard .sw-back:hover { color: #0D9488; }

    .signup-wizard .sw-actions { margin-top: 1.75rem; overflow: hidden; }
    .signup-wizard .sw-actions input[type="submit"] {
        float: right;
        width: auto;
        min-width: 0;
        margin: 0;
        padding: 0.75rem 1.75rem;
        background-color: #0D9488;
        color: #fff;
        border: none;
        border-radius: 0.5rem;
        font-size: 1rem !important;
        font-weight: 600;
        text-transform: none;
        cursor: pointer;
    }
    .signup-wizard .sw-actions input[type="submit"]:hover { background-color: #0F766E; }

    .signup-wizard .sw-fineprint {
        clear: both;
        font-size: 0.8125rem;
        line-height: 1.5;
        color: #718096;
        margin: 1.25rem 0 0 0;
    }
    .signup-wizard .sw-fineprint a { color: #0D9488; }

    @media (max-width: 480px) {
        .home-page .home-card { padding: 1.25rem 1.25rem 1.75rem; }
        .signup-wizard .sw-row .sw-col { float: none; width: auto; margin-right: 0; }
        .signup-wizard h2.sw-question { font-size: 1.3125rem; }
        .signup-wizard .sw-btn, .signup-wizard .sw-actions input[type="submit"] { float: none; width: 100%; }
        .signup-wizard .sw-back { float: none; display: block; }
    }

    /* ---- AI credits and Custom Branding steps (Signup/_AiStep, _BrandingStep) ----
       These steps carry the /Upgrade demos, so the card widens while one is open. */
    .home-page .home-card.sw-wide-card { max-width: 1080px; }
    .signup-wizard .sw-sell { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin: 0 0 1.25rem 0; }
    .signup-wizard .sw-sell-item { display: flex; gap: 0.75rem; padding: 0.875rem 1rem; border-radius: 0.625rem; background: #F0FDFA; border: 1px solid #99F6E4; }
    .signup-wizard .sw-sell-item > i { font-size: 1.5rem; color: #0D9488; line-height: 1; }
    .signup-wizard .sw-sell-item strong { display: block; color: #134E4A; margin-bottom: 0.25rem; }
    .signup-wizard .sw-sell-item span { font-size: 0.875rem; line-height: 1.45; color: #334155; }
    .signup-wizard .sw-showcase-box { margin: 0 0 1.5rem 0; }
    .signup-wizard .sw-subhead { font-size: 1.125rem; margin: 1.25rem 0 0.75rem 0; color: #1A202C; }
    .signup-wizard .sw-badge { display: inline-block; margin-left: 0.375rem; padding: 0.1rem 0.5rem; border-radius: 999px; background: #0D9488; color: #fff; font-size: 0.7rem; font-weight: 700; vertical-align: middle; }
    .signup-wizard .sw-badge[hidden] { display: none; }
    /* The "no" answer: present, but plainly the lesser choice. */
    .signup-wizard .sw-option-quiet .sw-option-body { background: #F8FAFC; border-style: dashed; }
    .signup-wizard .sw-option-quiet .sw-option-title { color: #4A5568; font-weight: 600; }
    .signup-wizard .sw-choice-msg { display: block; color: #C53030; font-size: 0.8125rem; margin-top: 0.25rem; }
    .signup-wizard .sw-choice-msg[hidden] { display: none; }
    @media (max-width: 700px) { .signup-wizard .sw-sell { grid-template-columns: 1fr; } }