:root {
  --coral-soft: #fff0eb;
  --yellow-soft: #fff8dc;
  --mint-soft: #eef9f1;
}

body { background: #fff; }
.site-header { background: rgba(255,255,255,.96); }
.form-section:before { display:none; }
.hero-next-step { display:flex; align-items:center; gap:.55rem; margin:1.25rem 0 0; color:var(--muted); font-size:.92rem; font-weight:650; }
.inline-icon { display:inline-grid; place-items:center; width:1.45rem; height:1.45rem; border-radius:50%; background:var(--lime); color:var(--forest); font-weight:950; }
.step-icon svg, .benefit-icon svg { width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.step-card.coral { background:var(--coral-soft); border:2px solid #ffc7bb; }
.step-card.yellow { background:var(--yellow-soft); border:2px solid #f3dc8b; }
.step-card.mint { background:var(--mint-soft); border:2px solid #bfe8ce; }
.step-card h3, .step-card p { color:var(--ink); }
.step-card .step-icon { color:var(--forest); border:2px solid currentColor; }
.form-time { color:#e7f5ef !important; font-size:.96rem !important; margin-top:1.5rem; }
.form-reassurance { color:var(--muted); text-align:center; font-size:.86rem; margin:.65rem 0 0; }
.ready-badge { display:inline-flex; align-items:center; gap:.5rem; margin-bottom:1rem; padding:.45rem .75rem; border-radius:99px; background:var(--mint); color:var(--forest); font-size:.82rem; font-weight:850; }
.review-copy h2 { margin-top:.2rem; }
.benefit-icon { display:block; color:var(--forest); }
.benefit-icon svg { width:34px; height:34px; }
.benefit.b1 { background:var(--coral-soft); border:2px solid #ffc7bb; }
.benefit.b2 { background:var(--mint-soft); border:2px solid #bfe8ce; }
.benefit.b3 { background:var(--yellow-soft); border:2px solid #f3dc8b; }
.benefit.b4 { background:#f1f6d9; border:2px solid #d9ed68; }
.recipient-hero-cta { display:block; margin-top:1.75rem; }
.recipient-hero-cta .button { width:auto; }
.recipient-cta-note { color:var(--muted); font-size:.84rem; margin:.8rem 0 0; }
.closing-cta { margin-block:70px 90px; background:var(--mint-soft); border:2px solid #bfe8ce; border-radius:var(--radius); padding:46px 50px; display:flex; align-items:center; justify-content:space-between; gap:35px; }
.closing-cta h2 { margin-bottom:1rem; max-width:700px; }
.closing-cta p:not(.eyebrow) { max-width:650px; }

/* The three “A little nudge” cards use a single purple field with reversed type. */
.step-card.coral, .step-card.yellow, .step-card.mint {
  background:#421254 !important;
  border-color:#421254 !important;
  color:#fff !important;
}
.step-card.coral h3, .step-card.coral p,
.step-card.yellow h3, .step-card.yellow p,
.step-card.mint h3, .step-card.mint p { color:#fff !important; }
.step-card .step-icon { background:#fff; color:var(--forest); }

.recipient-hero .orbit-art {
  display:block;
  width:100%;
  height:auto;
  max-width:520px;
  border-radius:0;
  object-fit:contain;
  transform:none;
}

.benefit.b1, .benefit.b2, .benefit.b3, .benefit.b4 {
  background:#421254 !important;
  border-color:#421254 !important;
  color:#fff !important;
}
.benefit.b1 h3, .benefit.b1 p,
.benefit.b2 h3, .benefit.b2 p,
.benefit.b3 h3, .benefit.b3 p,
.benefit.b4 h3, .benefit.b4 p,
.benefit .benefit-icon { color:#fff !important; }
.benefits-subheader { margin:2.5rem 0 0; color:var(--forest); font-size:clamp(1.8rem,3.5vw,3.2rem); line-height:1; letter-spacing:-.04em; max-width:760px; }
.footer-mark { background:#fff; padding:8px 12px; width:max-content; }
.apy-disclosure { max-width:800px; font-size:.78rem; line-height:1.45; opacity:.82; }
.hero h1 { font-size:clamp(3.1rem,5.5vw,5.8rem); line-height:.98; }

@media (max-width: 560px) {
  .hero h1 { font-size:3rem; }
}

@media (max-width: 900px) {
  .recipient-hero-cta .button { width:100%; }
  .closing-cta { align-items:flex-start; flex-direction:column; padding:30px 24px; margin-block:55px 70px; }
  .closing-cta .button { width:100%; }
}
