.rs-crm-card,
.rs-crm-card * { box-sizing: border-box; }

.rs-crm-card {
  --crm-navy: #0b2945;
  --crm-blue: #0b6898;
  --crm-teal: #0e9488;
  display: grid;
  grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr);
  margin: 2.25rem 0;
  overflow: hidden;
  border: 1px solid #dbe7ef;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(11, 41, 69, .12);
  font-family: inherit;
}

.rs-crm-card__intro {
  position: relative;
  padding: clamp(2rem, 5vw, 3.25rem);
  color: #fff;
  background:
    radial-gradient(circle at 10% 10%, rgba(44, 211, 193, .28), transparent 34%),
    linear-gradient(145deg, #0b2945 0%, #0b5682 100%);
}

.rs-crm-card__intro::after {
  content: '';
  position: absolute;
  inset: auto -60px -80px auto;
  width: 210px;
  height: 210px;
  border: 34px solid rgba(255,255,255,.07);
  border-radius: 50%;
}

.rs-crm-card__eyebrow {
  display: inline-flex;
  padding: .48rem .78rem;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 999px;
  background: rgba(255,255,255,.1);
  font-size: .82rem;
  font-weight: 700;
}

.rs-crm-card__intro h2 {
  margin: 1.15rem 0 .85rem;
  color: #fff;
  font-size: clamp(1.65rem, 3vw, 2.25rem);
  line-height: 1.45;
}

.rs-crm-card__intro p { margin: 0; color: #dbeaf4; line-height: 2; }
.rs-crm-card__intro ul { position: relative; z-index: 1; display: grid; gap: .75rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.rs-crm-card__intro li { display: flex; gap: .6rem; align-items: flex-start; color: #eef8fc; font-size: .92rem; }
.rs-crm-card__intro li::before { content: '✓'; display: grid; flex: 0 0 24px; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: rgba(44, 211, 193, .18); color: #8ff5e8; font-weight: 900; }

.rs-crm-form { padding: clamp(1.5rem, 4vw, 3rem); background: linear-gradient(180deg, #fff, #fbfdff); }
.rs-crm-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.15rem; }
.rs-crm-field { display: grid; gap: .52rem; margin: 0; color: #17344d; font-size: .92rem; font-weight: 700; }
.rs-crm-field b { color: #dc2f45; }
.rs-crm-field small { color: #7c8d9a; font-weight: 400; }

.rs-crm-field input,
.rs-crm-field select,
.rs-crm-field textarea {
  width: 100%;
  min-height: 50px;
  margin: 0;
  padding: .78rem .95rem;
  border: 1px solid #cbdbe6;
  border-radius: 13px;
  outline: none;
  background: #fff;
  color: #102c43;
  font: inherit;
  font-weight: 400;
  transition: border-color .18s, box-shadow .18s, transform .18s;
}

.rs-crm-field textarea { min-height: 132px; resize: vertical; line-height: 1.8; }
.rs-crm-field input:focus,
.rs-crm-field select:focus,
.rs-crm-field textarea:focus { border-color: var(--crm-blue); box-shadow: 0 0 0 4px rgba(11, 104, 152, .11); }
.rs-crm-field--message { margin-top: 1.15rem; }
.rs-crm-consent { display: flex; gap: .7rem; align-items: flex-start; margin: 1.1rem 0 0; color: #526878; font-size: .85rem; line-height: 1.8; }
.rs-crm-consent input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: .28rem; accent-color: var(--crm-teal); }
.rs-crm-turnstile { min-height: 65px; margin-top: 1rem; }
.rs-crm-turnstile iframe { max-width: 100%; }
.rs-crm-otp[hidden] { display: none !important; }
.rs-crm-otp {
  margin-top: 1.2rem;
  padding: 1rem 1.1rem;
  border: 1px solid #b9ddd8;
  border-radius: 15px;
  background: linear-gradient(135deg, #f1fbf9, #f5faff);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.rs-crm-otp__heading,
.rs-crm-otp__controls { display: flex; gap: 1rem; align-items: center; justify-content: space-between; }
.rs-crm-otp__heading strong { color: #0b4f64; font-size: .98rem; }
.rs-crm-otp__heading p { margin: .25rem 0 0; color: #526878; font-size: .84rem; line-height: 1.75; }
.rs-crm-otp__heading p b { direction: ltr; unicode-bidi: isolate; color: #0b4f64; }
.rs-crm-otp__change,
.rs-crm-otp__resend {
  flex: 0 0 auto;
  padding: .55rem .75rem;
  border: 1px solid #b8d2df;
  border-radius: 10px;
  background: #fff;
  color: #0b6898;
  font: inherit;
  font-size: .8rem;
  font-weight: 700;
  cursor: pointer;
}
.rs-crm-otp__change:hover,
.rs-crm-otp__resend:hover:not(:disabled) { border-color: var(--crm-blue); background: #f7fbfd; }
.rs-crm-otp__resend:disabled { cursor: default; opacity: .62; }
.rs-crm-otp__controls { align-items: end; justify-content: flex-start; margin-top: .85rem; }
.rs-crm-field--otp { width: min(100%, 230px); }
.rs-crm-field--otp input {
  direction: ltr;
  letter-spacing: .45em;
  text-align: center;
  font-size: 1.15rem;
  font-weight: 800;
}
.rs-crm-otp__hint { margin: .65rem 0 0; color: #607888; font-size: .78rem; line-height: 1.65; }
.is-awaiting-otp .rs-crm-field input[readonly] { background: #f3f7f9; color: #526878; }
.rs-crm-honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}
.rs-crm-form__footer { display: flex; gap: 1rem; align-items: center; margin-top: 1.3rem; }

.rs-crm-submit {
  display: inline-flex;
  min-width: 150px;
  min-height: 51px;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  padding: .8rem 1.35rem;
  border: 0;
  border-radius: 13px;
  background: linear-gradient(135deg, var(--crm-teal), var(--crm-blue));
  box-shadow: 0 9px 22px rgba(11, 104, 152, .23);
  color: #fff;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  transition: transform .18s, box-shadow .18s, opacity .18s;
}
.rs-crm-submit:hover { transform: translateY(-1px); box-shadow: 0 12px 26px rgba(11, 104, 152, .3); }
.rs-crm-submit:disabled { cursor: wait; opacity: .72; transform: none; }
.rs-crm-submit__loader { display: none; width: 18px; height: 18px; border: 2px solid rgba(255,255,255,.38); border-top-color: #fff; border-radius: 50%; animation: rs-crm-spin .7s linear infinite; }
.is-submitting .rs-crm-submit__loader { display: block; }
.rs-crm-status { flex: 1; margin: 0; color: #637888; font-size: .88rem; line-height: 1.75; }
.rs-crm-status.is-success { padding: .7rem .85rem; border-radius: 10px; background: #e8f8f3; color: #086d5e; }
.rs-crm-status.is-error { padding: .7rem .85rem; border-radius: 10px; background: #fff0f1; color: #a72436; }

@keyframes rs-crm-spin { to { transform: rotate(360deg); } }

@media (max-width: 850px) {
  .rs-crm-card { grid-template-columns: 1fr; }
  .rs-crm-card__intro { padding: 2rem; }
}

@media (max-width: 580px) {
  .rs-crm-card { margin: 1.4rem -.25rem; border-radius: 20px; }
  .rs-crm-form__grid { grid-template-columns: 1fr; }
  .rs-crm-form { padding: 1.25rem; }
  .rs-crm-form__footer { align-items: stretch; flex-direction: column; }
  .rs-crm-submit { width: 100%; }
  .rs-crm-otp { padding: .9rem; }
  .rs-crm-otp__heading { align-items: flex-start; }
  .rs-crm-otp__controls { align-items: stretch; flex-direction: column; }
  .rs-crm-field--otp { width: 100%; }
  .rs-crm-otp__resend { width: 100%; min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  .rs-crm-card * { scroll-behavior: auto !important; transition: none !important; }
}
