.survey-spotlight {
  position: relative;
  overflow: hidden;
  padding: 58px 0 64px;
  background: linear-gradient(135deg, #10243f 0%, #173b60 58%, #214b70 100%);
  color: #fff;
}

.survey-spotlight::after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  border: 80px solid rgba(255,255,255,.035);
  border-radius: 50%;
  right: -180px;
  top: -200px;
}

.survey-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 68px;
  align-items: start;
}

.survey-offer { position: sticky; top: 112px; padding-top: 15px; }
.survey-offer h1 { font-size: clamp(2.35rem,4vw,4.15rem); line-height: 1.02; letter-spacing: -.018em; margin: 0; font-weight: 850; }
.survey-offer h1 em { font-style: normal; color: #ff9b70; }
.survey-offer > p:not(.eyebrow):not(.offer-terms) { font-size: 1.08rem; color: #d4dde7; max-width: 560px; }
.offer-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 25px 0; }
.offer-badges span { padding: 7px 11px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.08); border-radius: 999px; font-size: .75rem; font-weight: 750; }
.offer-terms { color: #aebdcb; font-size: .76rem; line-height: 1.55; }
.visit-proof { display: flex; align-items: center; gap: 10px; margin-top: 28px; }
.visit-proof strong { font-size: 2rem; color: #fff; }
.visit-proof span { max-width: 110px; color: #aebdcb; font-size: .75rem; line-height: 1.25; }
.survey-form { background: #fff; color: var(--ink); border-radius: 24px; padding: 30px; box-shadow: 0 24px 70px rgba(0,0,0,.25); }
.survey-form .form-heading h2 { font-size: 1.7rem; letter-spacing: -.03em; margin: 2px 0; }
.survey-form .optional { margin-top: -5px; }
.honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.form-status.success { color: #19713c; background: #eaf8ef; padding: 10px 12px; border-radius: 10px; }
.form-status.error { color: #a4261d; background: #fff0ee; padding: 10px 12px; border-radius: 10px; }
.button[disabled] { opacity: .65; cursor: wait; transform: none; }
.otp-block { margin: -2px 0 18px; padding: 13px; border: 1px solid #dfe3e8; border-radius: 12px; background: #f8fafb; }
.otp-action-row { display: flex; align-items: center; gap: 12px; }
.otp-action-row span { color: #687587; font-size: .76rem; line-height: 1.35; }
.otp-button { width: auto; padding: 10px 15px; flex: 0 0 auto; }
.otp-entry { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 12px; }
.otp-entry[hidden] { display: none; }
.otp-entry label { margin: 0; }
.otp-entry input { max-width: 250px; font-size: 1.18rem; font-weight: 800; letter-spacing: .32em; font-variant-numeric: tabular-nums; }
.otp-entry input::placeholder { color: #a3adba; letter-spacing: .14em; }
.otp-entry input.verified { color: #19713c; border-color: #4aaa70; background: #effaf3; }
.otp-verified { color: #19713c !important; font-weight: 750; }
.coupon-share { display: inline-block; margin-top: 8px; color: #116b37; font-weight: 800; text-decoration: underline; }

@media (max-width: 900px) {
  .survey-grid { grid-template-columns: 1fr; gap: 34px; }
  .survey-offer { position: static; }
  .survey-spotlight { padding-top: 42px; }
}

@media (max-width: 600px) {
  .survey-form { padding: 21px; }
  .survey-offer h1 { font-size: 2.5rem; }
  .visit-proof { margin-top: 20px; }
  .otp-action-row, .otp-entry { align-items: stretch; grid-template-columns: 1fr; flex-direction: column; }
  .otp-button { width: 100%; }
}
