.investor-registration-page {
    --ir-bg: #020d1b;
    --ir-panel: rgba(5, 24, 45, .92);
    --ir-text: #f7f9fc;
    --ir-cyan: #09d5df;
    background: var(--ir-bg);
}

.investor-registration-page > main.container { width: 100%; max-width: none; padding: 0; }
.ir-page, .ir-page *, .ir-page *::before, .ir-page *::after { box-sizing: border-box; }

.ir-page {
    position: relative;
    isolation: isolate;
    min-height: calc(100vh - 98px);
    overflow: hidden;
    color: var(--ir-text);
    background:
        radial-gradient(circle at 13% 11%, rgba(0, 151, 255, .12), transparent 30%),
        radial-gradient(circle at 92% 78%, rgba(40, 71, 255, .16), transparent 25%),
        linear-gradient(118deg, #03182b 0%, #020b18 49%, #020b17 100%);
    font-family: Poppins, Arial, sans-serif;
}

.ir-page::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    opacity: .22;
    background-image: linear-gradient(rgba(91, 170, 226, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(91, 170, 226, .03) 1px, transparent 1px);
    background-size: 54px 54px;
    content: '';
    mask-image: linear-gradient(to bottom, transparent, #000 35%, transparent 95%);
}

.ir-shell {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, .98fr) minmax(570px, 1.02fr);
    gap: clamp(42px, 5vw, 78px);
    width: min(1440px, calc(100% - 80px));
    margin: 0 auto;
    padding: clamp(56px, 5.2vw, 88px) 0 clamp(62px, 6vw, 100px);
    align-items: start;
}

.ir-intro { min-width: 0; padding-top: 8px; }
.ir-kicker { display: flex; align-items: center; gap: 15px; margin: 0 0 18px; color: #21e0ec; font-size: 15px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; }
.ir-kicker::after { width: 62px; height: 3px; border-radius: 999px; background: linear-gradient(90deg, var(--ir-cyan), #609eff); content: ''; }

.ir-intro > h1 {
    max-width: 660px;
    margin: 0;
    color: var(--ir-text) !important;
    font-size: clamp(50px, 4.4vw, 72px);
    font-weight: 800;
    letter-spacing: -3.2px;
    line-height: 1.03;
}

.ir-intro > h1 span {
    display: block;
    width: fit-content;
    color: transparent;
    background: linear-gradient(100deg, #00cbea 0%, #2886ff 48%, #ae4cf3 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.ir-lead { max-width: 660px; margin: 20px 0 35px; color: #e8edf5; font-size: clamp(16px, 1.35vw, 20px); font-weight: 400; line-height: 1.55; }
.ir-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 30px; max-width: 690px; }
.ir-benefit { display: flex; min-width: 0; gap: 20px; align-items: center; }

.ir-benefit__icon {
    display: grid;
    width: 70px;
    height: 70px;
    flex: 0 0 70px;
    border: 1px solid currentColor;
    border-radius: 17px;
    place-items: center;
    background: rgba(5, 27, 49, .78);
    font-size: 27px;
    box-shadow: inset 0 0 24px rgba(35, 136, 255, .08), 0 8px 24px rgba(0, 0, 0, .12);
}

.ir-benefit__icon--blue { color: #35a6ff; }
.ir-benefit__icon--purple { color: #bd64ff; }
.ir-benefit__icon--cyan { color: #45f2e7; }
.ir-benefit__icon--gold { color: #ffc542; }
.ir-benefit h2 { margin: 0 0 7px; color: #fff !important; font-size: 17px; font-weight: 700; line-height: 1.25; }
.ir-benefit p { margin: 0; color: #dbe3ee; font-size: 14px; line-height: 1.5; }

.ir-community {
    display: flex;
    gap: 24px;
    max-width: 690px;
    margin-top: 42px;
    padding: 26px;
    align-items: center;
    border: 1px solid rgba(35, 136, 255, .32);
    border-radius: 18px;
    background: linear-gradient(110deg, rgba(40, 31, 113, .48), rgba(3, 65, 96, .5));
    box-shadow: inset 0 1px rgba(255, 255, 255, .025), 0 20px 45px rgba(0, 0, 0, .13);
}

.ir-community__icon { display: grid; width: 82px; height: 82px; flex: 0 0 82px; color: #ffd23f; border: 1px solid #eeb900; border-radius: 50%; place-items: center; background: radial-gradient(circle, rgba(255, 211, 64, .14), rgba(3, 18, 33, .76)); font-size: 32px; }
.ir-community h2 { margin: 0 0 6px; color: #fff !important; font-size: 21px; font-weight: 700; }
.ir-community p { margin: 0; color: #e2e9f2; font-size: 14px; line-height: 1.55; }

.ir-form-card {
    position: relative;
    min-width: 0;
    padding: clamp(28px, 2.5vw, 40px);
    overflow: hidden;
    border: 1px solid transparent;
    border-radius: 21px;
    background: linear-gradient(var(--ir-panel), var(--ir-panel)) padding-box, linear-gradient(135deg, #bb5eff, #147be7 45%, #00acc6 76%, #b44ced) border-box;
    box-shadow: 0 28px 75px rgba(0, 0, 0, .38), inset 0 1px rgba(255, 255, 255, .04);
}

.ir-form-card::before { position: absolute; top: -160px; left: -130px; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(93, 53, 219, .24), transparent 68%); content: ''; pointer-events: none; }
.ir-form-heading { position: relative; display: flex; gap: 24px; margin-bottom: 26px; align-items: center; }
.ir-form-heading__icon { display: grid; width: 80px; height: 80px; flex: 0 0 80px; color: #e8f2ff; border: 1px solid #555ff8; border-radius: 50%; place-items: center; background: radial-gradient(circle at 35% 30%, rgba(59, 99, 238, .5), rgba(36, 37, 137, .55)); font-size: 29px; box-shadow: inset 0 0 28px rgba(75, 92, 255, .2); }
.ir-form-heading h2 { margin: 0 0 5px; color: #fff !important; font-size: clamp(25px, 2vw, 31px); font-weight: 800; letter-spacing: -.6px; }
.ir-form-heading p { margin: 0; color: #cbd6e4; font-size: 15px; line-height: 1.45; }

.ir-alert { position: relative; display: flex; gap: 11px; margin: 0 0 20px; padding: 12px 14px; border: 1px solid; border-radius: 10px; font-size: 13px; line-height: 1.45; }
.ir-alert > i { margin-top: 3px; }
.ir-alert ul { margin: 5px 0 0; padding-left: 18px; }
.ir-alert--success { color: #a7f3d0; border-color: rgba(52, 211, 153, .38); background: rgba(6, 78, 59, .42); }
.ir-alert--danger { color: #fecaca; border-color: rgba(248, 113, 113, .4); background: rgba(127, 29, 29, .32); }
.ir-form { position: relative; display: grid; gap: 16px; }
.ir-field label { display: block; margin: 0 0 6px; color: #f1f5f9; font-size: 14px; font-weight: 500; }
.ir-field label span { color: #ff758a; }
.ir-control { position: relative; }

.ir-control > i:first-child {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 15px;
    width: 20px;
    color: #b7c6d8;
    font-size: 17px;
    text-align: center;
    transform: translateY(-50%);
    pointer-events: none;
}

.ir-control input, .ir-control select {
    display: block;
    width: 100%;
    height: 50px;
    padding: 0 46px;
    color: #edf4fb !important;
    border: 1px solid rgba(148, 169, 194, .35) !important;
    border-radius: 10px !important;
    outline: 0;
    background: rgba(3, 21, 39, .66) !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, .14);
    font: 400 14px/1 Poppins, Arial, sans-serif;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.ir-control select { padding-right: 44px; appearance: none; -webkit-appearance: none; cursor: pointer; }
.ir-control select option { color: #edf4fb; background: #071a2e; }
.ir-control input::placeholder { color: #8e9db0; opacity: 1; }
.ir-control input:hover, .ir-control select:hover { border-color: rgba(112, 170, 225, .62) !important; }
.ir-control input:focus, .ir-control select:focus { border-color: #39a8ff !important; background: rgba(5, 27, 49, .9) !important; box-shadow: 0 0 0 3px rgba(37, 139, 255, .16); }
.ir-control--invalid input, .ir-control--invalid select { border-color: #fb7185 !important; }
.ir-control .ir-control__chevron {
    position: absolute;
    top: 50%;
    right: 16px;
    left: auto;
    width: auto;
    color: #91a5bb;
    font-size: 11px;
    transform: translateY(-50%);
    pointer-events: none;
}
.ir-error { display: block; margin-top: 5px; color: #fda4af; font-size: 12px; }

.ir-submit {
    display: flex;
    width: 100%;
    min-height: 58px;
    margin-top: 4px;
    padding: 12px 20px;
    align-items: center;
    justify-content: center;
    gap: 14px;
    color: #fff;
    border: 0;
    border-radius: 11px;
    background: linear-gradient(100deg, #08d2d7 0%, #247ff4 52%, #a33bf0 100%);
    box-shadow: 0 12px 28px rgba(46, 104, 239, .24);
    font: 700 17px/1.2 Poppins, Arial, sans-serif;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.ir-submit:hover { transform: translateY(-2px); filter: brightness(1.06); box-shadow: 0 16px 34px rgba(46, 104, 239, .32); }
.ir-submit:focus-visible { outline: 3px solid rgba(68, 216, 244, .38); outline-offset: 3px; }
.ir-submit i { transition: transform .2s ease; }
.ir-submit:hover i { transform: translateX(4px); }
.ir-form .auth-account-switch-prompt { margin: 0; color: #98a9bc; font-size: 13px; }
.ir-form .auth-account-switch-prompt a { color: #53d9f5; }

.ir-orbit { position: absolute; z-index: 0; border: 1px solid rgba(37, 121, 255, .58); border-radius: 50%; pointer-events: none; }
.ir-orbit::after { position: absolute; inset: 58px; border: 1px solid rgba(18, 127, 227, .32); border-radius: inherit; content: ''; }
.ir-orbit--right { right: -310px; bottom: 70px; width: 590px; height: 590px; }
.ir-orbit--left { bottom: -420px; left: -235px; width: 600px; height: 600px; }
.ir-dot-grid { position: absolute; z-index: 0; top: 34px; right: 18px; width: 150px; height: 230px; opacity: .42; background-image: radial-gradient(circle, #0a80e8 1.3px, transparent 1.5px); background-size: 18px 18px; pointer-events: none; }

@media (max-width: 1199.98px) {
    .ir-shell { grid-template-columns: minmax(0, .9fr) minmax(500px, 1.1fr); gap: 38px; width: min(1080px, calc(100% - 48px)); }
    .ir-benefits { grid-template-columns: 1fr; gap: 22px; }
    .ir-benefit__icon { width: 58px; height: 58px; flex-basis: 58px; border-radius: 14px; font-size: 22px; }
}

@media (max-width: 991.98px) {
    .ir-shell { grid-template-columns: 1fr; width: min(720px, calc(100% - 40px)); padding-top: 50px; }
    .ir-intro { padding-top: 0; }
    .ir-intro > h1 { max-width: 600px; }
    .ir-lead { max-width: 620px; }
    .ir-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; }
    .ir-community { max-width: none; }
}

@media (max-width: 575.98px) {
    .ir-shell { width: min(100% - 28px, 540px); gap: 34px; padding: 36px 0 56px; }
    .ir-kicker { font-size: 12px; }
    .ir-intro > h1 { font-size: clamp(40px, 13vw, 55px); letter-spacing: -2px; }
    .ir-lead { margin: 18px 0 30px; font-size: 15px; }
    .ir-benefits { grid-template-columns: 1fr; gap: 22px; }
    .ir-benefit { gap: 16px; }
    .ir-benefit p { font-size: 13px; }
    .ir-community { gap: 16px; margin-top: 32px; padding: 20px 17px; align-items: flex-start; }
    .ir-community__icon { width: 58px; height: 58px; flex-basis: 58px; font-size: 23px; }
    .ir-community h2 { font-size: 17px; }
    .ir-community p { font-size: 12px; }
    .ir-form-card { padding: 23px 16px; border-radius: 16px; }
    .ir-form-heading { gap: 14px; margin-bottom: 23px; align-items: flex-start; }
    .ir-form-heading__icon { width: 57px; height: 57px; flex-basis: 57px; font-size: 21px; }
    .ir-form-heading h2 { font-size: 22px; }
    .ir-form-heading p { font-size: 12px; }
    .ir-control input, .ir-control select { height: 48px; font-size: 13px; }
    .ir-submit { min-height: 53px; font-size: 15px; }
    .ir-dot-grid { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .ir-page *, .ir-page *::before, .ir-page *::after { scroll-behavior: auto !important; transition: none !important; }
}
