          *,
          *::before,
          *::after {
              box-sizing: border-box
          }

          :root {
              --red: #B02519;
              --red-dark: #8f1e13;
              --red-light: #f7ece9;
              --text: #1a1a1a;
              --text-mid: #444;
              --text-muted: #777;
              --border: #e2e2e2;
              --white: #ffffff;
              --success: #1a6b3c;
              --success-bg: #eaf5ef;
              --error-bg: #fef2f2;
              --r: 6px;
              --r-lg: 12px
          }

          .rp-root {
              display: grid;
              grid-template-columns: 460px 1fr;
              height: 100vh;
              overflow: hidden
          }

          /* LEFT */
          .rp-left {
              background: var(--white);
              border-right: 1px solid var(--border);
              display: flex;
              flex-direction: column;
              height: 100vh;
              overflow: hidden
          }

          .rp-brand {
              flex-shrink: 0;
              display: flex;
              align-items: center;
              justify-content: space-between;
              padding: 15px 28px;
              border-bottom: 1px solid var(--border)
          }

          .rp-brand__logo {
              display: flex;
              align-items: center;
              gap: 8px;
              font-size: 16px;
              font-weight: 400;
              color: var(--text);
              text-decoration: none
          }

          .rp-brand__logo i {
              color: var(--red);
              font-size: 17px
          }

          .rp-brand__logo strong {
              font-weight: 700
          }

          .rp-brand__pill {
              font-size: 11px;
              font-weight: 500;
              letter-spacing: .08em;
              text-transform: uppercase;
              color: var(--red);
              background: var(--red-light);
              padding: 4px 10px;
              border-radius: 20px
          }

          .rp-left__body {
              flex: 1;
              overflow-y: auto;
              padding: 22px 28px 28px;
              scrollbar-width: thin;
              scrollbar-color: var(--border) transparent
          }

          .rp-left__body::-webkit-scrollbar {
              width: 4px
          }

          .rp-left__body::-webkit-scrollbar-thumb {
              background: var(--border);
              border-radius: 4px
          }

          .rp-eyebrow {
              display: inline-block;
              font-size: 11px;
              font-weight: 500;
              letter-spacing: .12em;
              text-transform: uppercase;
              color: var(--red);
              margin-bottom: 5px
          }

          .rp-header {
              margin-bottom: 18px
          }

          .rp-header__h1 {
              font-size: 20px;
              font-weight: 700;
              color: var(--text);
              line-height: 1.25;
              margin: 4px 0 5px
          }

          .rp-header__sub {
              font-size: 13px;
              color: var(--text-muted);
              margin: 0
          }

          /* Toggle */
          .rp-toggle {
              display: flex;
              border: 1px solid var(--border);
              border-radius: var(--r);
              overflow: hidden;
              margin-bottom: 16px
          }

          .rp-toggle__btn {
              flex: 1;
              padding: 10px 14px;
              font-size: 13px;
              font-weight: 500;
              font-family: inherit;
              color: var(--text-muted);
              background: var(--white);
              border: none;
              border-right: 1px solid var(--border);
              cursor: pointer;
              display: flex;
              align-items: center;
              justify-content: center;
              gap: 7px;
              transition: background .15s, color .15s
          }

          .rp-toggle__btn:last-child {
              border-right: none
          }

          .rp-toggle__btn--active {
              background: var(--red);
              color: #fff
          }

          .rp-toggle__btn:not(.rp-toggle__btn--active):hover {
              background: var(--red-light);
              color: var(--red)
          }

          /* Form */
          .rp-form {
              display: flex;
              flex-direction: column;
              gap: 11px
          }

          .rp-form--hidden {
              display: none
          }

          /* Fields */
          .rp-field {
              display: flex;
              flex-direction: column;
              gap: 4px
          }

          .rp-field__label {
              font-size: 12px;
              font-weight: 500;
              color: var(--text-mid);
              display: flex;
              align-items: center;
              gap: 2px
          }

          .rp-field__req {
              color: var(--red)
          }

          .rp-field__input {
              width: 100%;
              height: 38px;
              padding: 0 12px;
              font-size: 13px;
              font-family: inherit;
              color: var(--text);
              background: var(--white);
              border: 1px solid var(--border);
              border-radius: var(--r);
              outline: none;
              transition: border-color .15s, box-shadow .15s;
              -webkit-appearance: none
          }

          .rp-field__input::placeholder {
              color: #bbb
          }

          .rp-field__input:focus {
              border-color: var(--red);
              box-shadow: 0 0 0 3px rgba(176, 37, 25, .09)
          }

          .rp-field__input--invalid {
              border-color: #d32f2f;
              box-shadow: 0 0 0 3px rgba(211, 47, 47, .09)
          }

          .rp-select-wrap {
              position: relative
          }

          .rp-field__select {
              padding-right: 32px;
              cursor: pointer;
              appearance: none;
              -webkit-appearance: none;
              background-color: var(--white)
          }

          .rp-select-wrap__icon {
              position: absolute;
              right: 12px;
              top: 50%;
              transform: translateY(-50%);
              font-size: 10px;
              color: var(--text-muted);
              pointer-events: none
          }

          .rp-field__error {
              font-size: 11px;
              color: #d32f2f;
              min-height: 14px;
              line-height: 1.3
          }

          /* Privacy */
          .rp-privacy {
              display: flex;
              gap: 6px;
              align-items: flex-start;
              font-size: 11px;
              color: var(--text-muted);
              line-height: 1.5;
              margin: 2px 0
          }

          .rp-privacy i {
              margin-top: 2px;
              flex-shrink: 0
          }

          .rp-privacy a {
              color: var(--red)
          }

          /* Submit */
          .rp-submit {
              display: flex;
              align-items: center;
              justify-content: center;
              gap: 8px;
              width: 100%;
              padding: 11px 20px;
              background: var(--red);
              color: #fff;
              font-size: 14px;
              font-weight: 600;
              font-family: inherit;
              border: none;
              border-radius: var(--r);
              cursor: pointer;
              transition: background .2s
          }

          .rp-submit:hover {
              background: var(--red-dark)
          }

          .rp-submit:disabled {
              opacity: .65;
              cursor: not-allowed
          }

          .rp-submit__icon {
              font-size: 11px
          }

          .rp-submit--loading .rp-submit__label::after {
              content: '';
              display: inline-block;
              width: 11px;
              height: 11px;
              border: 2px solid rgba(255, 255, 255, .4);
              border-top-color: #fff;
              border-radius: 50%;
              animation: rp-spin .7s linear infinite;
              margin-left: 8px;
              vertical-align: middle
          }

          @keyframes rp-spin {
              to {
                  transform: rotate(360deg)
              }
          }

          /* Feedback */
          .rp-feedback {
              display: flex;
              gap: 10px;
              align-items: flex-start;
              padding: 11px 13px;
              border-radius: var(--r);
              font-size: 13px;
              line-height: 1.5
          }

          .rp-feedback i {
              flex-shrink: 0;
              margin-top: 1px;
              font-size: 14px
          }

          .rp-feedback strong {
              display: block;
              font-weight: 600;
              margin-bottom: 2px
          }

          .rp-feedback p {
              margin: 0
          }

          .rp-feedback a {
              color: inherit
          }

          .rp-feedback--success {
              background: var(--success-bg);
              border: 1px solid #a8d5b8;
              color: var(--success)
          }

          .rp-feedback--error {
              background: var(--error-bg);
              border: 1px solid #f5c6c6;
              color: #c0392b
          }

          .rp-feedback--success i {
              color: var(--success)
          }

          .rp-feedback--error i {
              color: #c0392b
          }

          /* Strip */
          .rp-strip {
              list-style: none;
              padding: 14px 0 0;
              margin: 14px 0 0;
              border-top: 1px solid var(--border);
              display: flex;
              flex-direction: column;
              gap: 7px
          }

          .rp-strip li {
              display: flex;
              align-items: center;
              gap: 8px;
              font-size: 11px;
              color: var(--text-muted)
          }

          .rp-strip i {
              color: var(--red);
              font-size: 11px;
              width: 13px
          }

          /* RIGHT */
          .rp-right {
              background: var(--red);
              height: 100vh;
              overflow: hidden;
              display: flex;
              align-items: center;
              justify-content: center;
              padding: 48px 56px;
              position: relative
          }

          .rp-right::before {
              content: '';
              position: absolute;
              inset: 0;
              background: radial-gradient(circle at 75% 15%, rgba(255, 255, 255, .07) 0%, transparent 55%), radial-gradient(circle at 25% 85%, rgba(0, 0, 0, .15) 0%, transparent 50%);
              pointer-events: none
          }

          .rp-aside {
              position: relative;
              z-index: 1;
              max-width: 440px;
              width: 100%;
              color: #fff
          }

          .rp-aside--hidden {
              display: none
          }

          .rp-aside__badge {
              display: inline-block;
              padding: 5px 14px;
              background: rgba(255, 255, 255, .18);
              color: #fff;
              font-size: 11px;
              font-weight: 500;
              border-radius: 20px;
              margin-bottom: 18px;
              letter-spacing: .04em
          }

          .rp-aside__heading {
              font-size: clamp(22px, 2.5vw, 30px);
              font-weight: 700;
              color: #fff;
              line-height: 1.2;
              margin: 0 0 12px
          }

          .rp-aside__intro {
              font-size: 15px;
              color: rgba(255, 255, 255, .85);
              line-height: 1.7;
              margin: 0 0 24px
          }

          .rp-aside__benefits {
              list-style: none;
              padding: 0;
              margin: 0 0 26px;
              display: flex;
              flex-direction: column;
              gap: 12px
          }

          .rp-aside__benefit {
              display: flex;
              align-items: center;
              gap: 12px;
              font-size: 14px;
              color: rgba(255, 255, 255, .9);
              line-height: 1.4
          }

          .rp-aside__benefit-icon {
              width: 32px;
              height: 32px;
              border-radius: 50%;
              background: rgba(255, 255, 255, .15);
              display: flex;
              align-items: center;
              justify-content: center;
              flex-shrink: 0;
              font-size: 12px;
              color: #fff
          }

          .rp-aside__trust {
              display: flex;
              align-items: center;
              padding: 16px 22px;
              background: rgba(255, 255, 255, .12);
              border: 1px solid rgba(255, 255, 255, .2);
              border-radius: var(--r-lg);
              margin-bottom: 20px
          }

          .rp-aside__trust-stat {
              flex: 1;
              text-align: center
          }

          .rp-aside__trust-stat strong {
              display: block;
              font-size: 22px;
              font-weight: 700;
              color: #fff;
              line-height: 1.2
          }

          .rp-aside__trust-stat span {
              font-size: 11px;
              color: rgba(255, 255, 255, .7)
          }

          .rp-aside__trust-divider {
              width: 1px;
              height: 30px;
              background: rgba(255, 255, 255, .25)
          }

          .rp-aside__footer {
              font-size: 13px;
              color: rgba(255, 255, 255, .7);
              margin: 0
          }

          .rp-aside__footer a {
              color: #fff;
              font-weight: 500
          }

          @media(max-width:860px) {

              html,
              body {
                  overflow: auto
              }

              .rp-root {
                  grid-template-columns: 1fr;
                  height: auto
              }

              .rp-left {
                  height: auto;
                  overflow: visible
              }

              .rp-right {
                  display: none
              }

              .rp-left__body {
                  overflow: visible;
                  padding: 20px 20px 32px
              }
          }