.ct-register-page {
    background:
        radial-gradient(circle at top right, rgba(255, 107, 0, .09), transparent 28%),
        radial-gradient(circle at bottom left, rgba(255, 210, 180, .16), transparent 22%),
        linear-gradient(180deg, #ffffff 0%, #f5f6f8 100%);
    color: #202124;
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    margin: 0;
    min-height: 100vh;
    overflow-x: hidden;
}

.ct-register-page *, .ct-register-page *::before, .ct-register-page *::after { box-sizing: border-box; }
.ct-register-page a { text-decoration: none; }

.ct-register-skip {
    background: #202124;
    border-radius: 0 0 8px 0;
    color: #fff;
    left: 0;
    padding: 10px 14px;
    position: fixed;
    top: -60px;
    z-index: 10000;
}

.ct-register-skip:focus { top: 0; }

.ct-register-page__shell {
    margin: 0 auto;
    max-width: 1240px;
    padding: 0 24px 72px;
    position: relative;
}

.ct-register__glow { border-radius: 50%; pointer-events: none; position: fixed; z-index: 0; }
.ct-register__glow--one { background: rgba(255, 107, 0, .08); height: 480px; right: -180px; top: -140px; width: 480px; }
.ct-register__glow--two { background: rgba(255, 190, 143, .12); bottom: -180px; height: 360px; left: -120px; width: 360px; }

.ct-register-nav {
    align-items: center;
    display: flex;
    justify-content: space-between;
    min-height: 84px;
    padding: 14px 0;
    position: relative;
    z-index: 2;
}

.ct-register-brand {
    align-items: center;
    color: #202124;
    display: flex;
    font-size: 1rem;
    font-weight: 800;
    gap: 11px;
}

.ct-register-brand:hover { color: #d95700; }
.ct-register-brand img { border-radius: 50%; height: 48px; object-fit: cover; width: 48px; }

.ct-register-nav__links {
    align-items: center;
    display: flex;
    gap: 24px;
}

.ct-register-nav__links > a {
    color: #4b5563;
    font-size: .9rem;
    font-weight: 650;
}

.ct-register-nav__links > a:hover { color: #d95700; }
.ct-register-language details { margin: 0 !important; position: relative; }

.ct-register-main {
    align-items: start;
    display: grid;
    gap: clamp(28px, 6vw, 58px);
    grid-template-columns: minmax(0, 1fr) minmax(410px, 620px);
    padding-top: 18px;
    position: relative;
    z-index: 1;
}

.ct-register-hero {
    align-self: center;
    max-width: 620px;
    padding: 22px 0 8px;
}

.ct-register-kicker {
    align-items: center;
    color: #d95700;
    display: inline-flex;
    font-size: .75rem;
    font-weight: 800;
    gap: 8px;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.ct-register-hero h1 {
    color: #202124;
    font-size: clamp(3rem, 5.4vw, 4.85rem);
    font-weight: 850;
    letter-spacing: -.05em;
    line-height: 1.02;
    margin: 20px 0 18px;
}

.ct-register-hero > p {
    color: #4b5563;
    font-size: 1.14rem;
    line-height: 1.75;
    margin: 0;
    max-width: 570px;
}

.ct-register-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 26px 0 30px;
}

.ct-register-trust span {
    background: rgba(255, 255, 255, .85);
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    color: #202124;
    font-size: .82rem;
    font-weight: 700;
    padding: 9px 14px;
}

.ct-register-benefits {
    display: grid;
    gap: 12px 20px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    list-style: none;
    margin: 0 0 28px;
    padding: 0;
}

.ct-register-benefits li {
    align-items: center;
    color: #4b5563;
    display: flex;
    font-size: .93rem;
    font-weight: 650;
    gap: 10px;
}

.ct-register-benefits i { color: #ff6b00; }

.ct-register-assist {
    background: rgba(255, 255, 255, .9);
    border: 1px solid #e5e7eb;
    border-radius: 22px;
    box-shadow: 0 20px 48px rgba(32, 33, 36, .08);
    padding: 22px 24px;
}

.ct-register-assist h2 {
    color: #202124;
    font-size: 1.15rem;
    font-weight: 800;
    margin: 0 0 8px;
}

.ct-register-assist p {
    color: #4b5563;
    line-height: 1.7;
    margin: 0;
}

.ct-register-panel {
    width: 100%;
}

.ct-register-card {
    background: rgba(255, 255, 255, .98);
    border: 1px solid #e5e7eb;
    border-radius: 28px;
    box-shadow: 0 26px 78px rgba(32, 33, 36, .12);
    padding: clamp(28px, 4vw, 40px);
    position: relative;
}

.ct-register-card__header {
    margin-bottom: 24px;
    text-align: center;
}

.ct-register-card__eyebrow {
    color: #d95700;
    display: inline-block;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .12em;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.ct-register-card__header h2 {
    color: #202124;
    font-size: 1.85rem;
    font-weight: 850;
    letter-spacing: -.03em;
    margin: 0 0 8px;
}

.ct-register-card__header p {
    color: #6b7280;
    font-size: .95rem;
    margin: 0;
}

.ct-register-form { margin: 0; }

.ct-register-form > h3,
.ct-register-step__title {
    color: #202124;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -.01em;
    margin: 28px 0 12px;
}

.ct-register-form > h3:first-child { margin-top: 0; }

.ct-register-step {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 22px;
    box-shadow: 0 10px 24px rgba(32, 33, 36, .05);
    display: flow-root;
    margin: 0 0 18px;
    padding: 18px 18px 8px;
}

.ct-register-step legend {
    color: #202124;
    font-size: .92rem;
    font-weight: 800;
    margin-bottom: 16px;
    padding: 0 8px;
    width: auto;
}

.ct-register-step .form-group { margin-bottom: 18px; }
.ct-register-step label {
    color: #202124;
    font-size: .86rem;
    font-weight: 750;
    margin-bottom: 7px;
}

.ct-register-static-field {
    align-items: stretch;
    background: #fff;
}

.ct-register-static-field .ct-register-static-value {
    align-items: center;
    color: #202124;
    display: flex;
    font-weight: 700;
    min-height: 50px;
    padding: 12px 14px;
    width: 100%;
}

.ct-register-step .input-group {
    border-radius: 14px;
    overflow: hidden;
}

.ct-register-step .input-group-addon {
    background: #fff7ef;
    border: 1px solid #d8dce2;
    border-right: 0;
    color: #d95700;
    min-width: 46px;
}

.ct-register-step .form-control {
    border: 1px solid #d8dce2;
    border-radius: 14px;
    box-shadow: none;
    color: #202124;
    min-height: 50px;
    padding: 12px 14px;
}

.ct-register-step .input-group .form-control {
    border-left: 0;
    border-radius: 0 14px 14px 0;
}

.ct-register-step .form-control:focus {
    border-color: #ff6b00;
    box-shadow: 0 0 0 4px rgba(255, 107, 0, .1);
}

.ct-register-step .help-block,
.ct-register-step .error,
.ct-register-step .error.help-block,
.ct-register-step .invalid-feedback {
    color: #b91c1c;
    font-size: .78rem;
    font-weight: 600;
}

.ct-register-step .select2-container { width: 100% !important; }
.ct-register-step .select2-container--default .select2-selection--single {
    align-items: center;
    border: 1px solid #d8dce2;
    border-radius: 14px;
    display: flex;
    min-height: 50px;
}

.ct-register-step .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #202124;
    line-height: 50px;
    padding-left: 14px;
    padding-right: 34px;
}

.ct-register-step .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 48px;
    right: 8px;
}

.ct-register-step .select2-container--default.select2-container--focus .select2-selection--single,
.ct-register-step .select2-container--default .select2-selection--single:focus {
    border-color: #ff6b00;
    box-shadow: 0 0 0 4px rgba(255, 107, 0, .1);
}

.ct-register-step input[type="file"] {
    background: #fff;
    border: 1px solid #d8dce2;
    border-radius: 14px;
    padding: 11px 12px;
    width: 100%;
}

.ct-register-step input[type="file"]::file-selector-button {
    background: #fff2e8;
    border: 0;
    border-radius: 999px;
    color: #d95700;
    font-weight: 700;
    margin-right: 10px;
    padding: 9px 14px;
}

.ct-register-page .wizard > .steps {
    margin-bottom: 24px;
}

.ct-register-page .wizard > .steps > ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ct-register-page .wizard > .steps > ul > li {
    flex: 1 1 180px;
}

.ct-register-page .wizard > .steps a {
    align-items: center;
    background: #f5f6f8;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    color: #4b5563;
    display: flex;
    font-size: .86rem;
    font-weight: 750;
    justify-content: center;
    min-height: 50px;
    padding: 10px 14px;
    text-align: center;
}

.ct-register-page .wizard > .steps .current a,
.ct-register-page .wizard > .steps .done a {
    background: #fff2e8;
    border-color: #ffcb9f;
    color: #d95700;
}

.ct-register-page .wizard > .content {
    background: transparent;
    margin-top: 0;
}

.ct-register-page .wizard > .content > .body {
    padding: 0;
}

.ct-register-page .wizard > .actions {
    margin-top: 24px;
}

.ct-register-page .wizard > .actions > ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ct-register-page .tw-dw-btn,
.ct-register-page .wizard a[href="#previous"],
.ct-register-page .wizard a[href="#next"],
.ct-register-page .wizard a[href="#finish"] {
    align-items: center;
    border-radius: 999px !important;
    display: inline-flex;
    font-weight: 750;
    justify-content: center;
    min-height: 48px;
    padding: 0 20px;
}

.ct-register-page .tw-dw-btn-primary,
.ct-register-page .wizard a[href="#next"],
.ct-register-page .wizard a[href="#finish"] {
    background: #ff6b00 !important;
    border-color: #ff6b00 !important;
    color: #fff !important;
}

.ct-register-page .tw-dw-btn-primary:hover,
.ct-register-page .wizard a[href="#next"]:hover,
.ct-register-page .wizard a[href="#finish"]:hover {
    background: #d95700 !important;
    border-color: #d95700 !important;
    color: #fff !important;
}

.ct-register-page .wizard a[href="#previous"] {
    background: #fff !important;
    border: 1px solid #d8dce2 !important;
    color: #4b5563 !important;
}

.ct-register-page .wizard a[href="#previous"]:hover {
    background: #f5f6f8 !important;
    color: #202124 !important;
}

.ct-register-page .wizard > .actions > ul > li {
    margin: 0;
}

.ct-register-page .wizard > .actions > ul > li > a {
    min-width: 150px;
}

.ct-register-page .error {
    color: #b91c1c;
}

.ct-register-page .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #ff6b00;
}

.ct-register-page .select2-dropdown {
    border-color: #e5e7eb;
    border-radius: 14px;
    overflow: hidden;
}

.ct-register-page .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #9ca3af;
}

@media (max-width: 1100px) {
    .ct-register-main {
        gap: 34px;
        grid-template-columns: minmax(0, 1fr) minmax(380px, 1fr);
    }

    .ct-register-hero h1 { font-size: clamp(2.7rem, 5vw, 4rem); }
}

@media (max-width: 920px) {
    .ct-register-nav { gap: 18px; }
    .ct-register-nav__links { gap: 16px; }
    .ct-register-nav__links > a:not(:first-child) { display: none; }

    .ct-register-main {
        grid-template-columns: 1fr;
        max-width: 760px;
        padding-top: 8px;
    }

    .ct-register-panel { order: -1; }
    .ct-register-hero { margin: 0 auto; max-width: 640px; text-align: center; }
    .ct-register-hero > p { margin-left: auto; margin-right: auto; }
    .ct-register-trust,
    .ct-register-benefits {
        justify-content: center;
    }
    .ct-register-benefits { text-align: left; }
}

@media (max-width: 640px) {
    .ct-register-page__shell { padding: 0 16px 56px; }
    .ct-register-nav {
        min-height: 70px;
        padding: 10px 0;
    }

    .ct-register-brand span { display: none; }
    .ct-register-brand img { height: 44px; width: 44px; }
    .ct-register-nav__links > a:first-child { display: none; }

    .ct-register-hero {
        padding-top: 10px;
        text-align: left;
    }

    .ct-register-hero h1 { font-size: 2.6rem; }
    .ct-register-hero > p { font-size: 1.02rem; }
    .ct-register-trust span { font-size: .78rem; }
    .ct-register-benefits { grid-template-columns: 1fr; }
    .ct-register-assist,
    .ct-register-card {
        border-radius: 22px;
        padding: 22px 18px;
    }

    .ct-register-card__header h2 { font-size: 1.55rem; }
    .ct-register-step { padding: 16px 14px 6px; }
    .ct-register-step .col-md-4,
    .ct-register-step .col-md-6,
    .ct-register-step .col-md-12,
    .ct-register-step .col-sm-6 {
        padding-left: 0;
        padding-right: 0;
        width: 100%;
    }

    .ct-register-page .wizard > .steps > ul > li {
        flex-basis: 100%;
    }

    .ct-register-page .wizard > .actions > ul > li > a {
        min-width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ct-register-page *, .ct-register-page *::before, .ct-register-page *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}
