.rh-sa{
  --sage-50:#F1F4F1; --sage-100:#E6ECE7; --sage-500:#7A9B82; --sage-600:#64806B; --sage-700:#556B5C; --sage-900:#3D4E43;
  --cream-100:#FBF8F2; --cream-white:#FFFDF9;
  --rose-500:#C8A69E; --rose-700:#A8837A;
  --charcoal-900:#38322C; --charcoal-500:#6E655B; --charcoal-400:#8C8377; --charcoal-300:#B3AA9D;
  --border-hairline:rgba(56,50,44,.12);
  --shadow-sm:0 2px 8px rgba(56,50,44,.07);
  --shadow-md:0 6px 20px rgba(56,50,44,.09);
  --font-serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  width:100%;max-width:600px;margin:40px auto;padding:0;font-family:var(--font-sans);color:var(--charcoal-900);line-height:1.5;
}
.rh-sa,.rh-sa *{box-sizing:border-box}
.rh-sa button,.rh-sa input,.rh-sa select{font:inherit}

/* Only question/gate/results screens get the card treatment — intro sits plain on the page background */
.rh-sa-card{width:100%;padding:0}
.rh-sa-screen{width:100%;display:flex;flex-direction:column;justify-content:center}
.rh-sa-screen[hidden]{display:none!important}
.rh-sa-screen:not(.rh-sa-intro){background:var(--cream-white)!important;padding:clamp(28px,6vw,48px)!important;border-radius:16px!important;box-shadow:var(--shadow-md)!important;min-height:380px}
.rh-sa-intro{text-align:center;padding:20px 8px 0;min-height:320px}

.rh-sa-eyebrow{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:12px!important;line-height:1.3!important;font-weight:600!important;font-family:var(--font-sans)!important;color:var(--sage-600)!important;margin:0 0 12px!important}

.rh-sa h2{font-family:var(--font-serif)!important;font-weight:400!important;font-size:clamp(26px,4vw,30px)!important;line-height:1.3!important;margin:0 0 16px!important;padding:0!important;color:var(--sage-900)!important}
.rh-sa-intro h2{font-weight:300!important;font-size:clamp(32px,5vw,42px)!important;line-height:1.2!important;margin:0 0 22px!important}
.rh-sa .rh-sa-question-wrap h2{font-size:clamp(22px,4vw,26px)!important;margin-bottom:26px!important}

.rh-sa p{font-family:var(--font-sans)!important;font-size:16px!important;line-height:1.65!important;font-weight:400!important;color:var(--charcoal-900)!important;margin:0 0 28px!important;padding:0!important}
.rh-sa-intro p{font-size:18px!important;color:var(--charcoal-900)!important;max-width:420px;margin:0 auto 36px!important}

.rh-sa .rh-sa-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-height:52px!important;text-decoration:none!important;border:1px solid transparent!important;border-radius:10px!important;padding:15px 28px!important;font-family:var(--font-sans)!important;font-size:15px!important;line-height:1.2!important;font-weight:600!important;cursor:pointer!important;transition:all .2s ease!important;box-shadow:none!important}
.rh-sa .rh-sa-primary{background:var(--sage-500)!important;color:var(--cream-100)!important}
.rh-sa .rh-sa-primary:hover{background:var(--sage-600)!important}
.rh-sa .rh-sa-secondary{background:transparent!important;border-color:var(--sage-500)!important;color:var(--sage-700)!important}
.rh-sa .rh-sa-secondary:hover{background:var(--sage-50)!important}
.rh-sa .rh-sa-accent{background:var(--rose-500)!important;color:var(--charcoal-900)!important}
.rh-sa .rh-sa-accent:hover{background:var(--rose-700)!important;color:var(--cream-100)!important}

.rh-sa-progress-top{display:flex!important;justify-content:space-between!important;align-items:center!important;width:100%!important;font-size:13px!important;line-height:1.3!important;color:var(--charcoal-500)!important;margin:0 0 8px!important}
.rh-sa-progress{display:block!important;width:100%!important;height:4px!important;background:var(--sage-100)!important;border-radius:999px!important;overflow:hidden!important;margin:0 0 36px!important;padding:0!important}
.rh-sa-progress span{display:block!important;height:100%!important;background:var(--sage-500)!important;width:0;transition:width .32s ease}

.rh-sa-question-wrap{width:100%;flex:1}
.rh-sa-options{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;width:100%!important}
.rh-sa .rh-sa-option{appearance:none!important;-webkit-appearance:none!important;width:100%!important;min-height:56px!important;text-align:left!important;background:var(--cream-white)!important;border:1px solid var(--border-hairline)!important;border-radius:10px!important;padding:16px 20px!important;font-family:var(--font-sans)!important;font-size:16px!important;line-height:1.45!important;color:var(--charcoal-900)!important;cursor:pointer!important;display:flex!important;justify-content:space-between!important;align-items:center!important;box-shadow:var(--shadow-sm)!important;transition:all .2s ease!important}
.rh-sa .rh-sa-option:hover,.rh-sa .rh-sa-option.selected{border-color:var(--sage-500)!important;background:var(--sage-50)!important}

.rh-sa .rh-sa-dot{display:block!important;width:20px!important;height:20px!important;min-width:20px!important;border:2px solid var(--charcoal-300)!important;border-radius:50%!important;margin:0 0 0 14px!important;background:transparent!important;box-shadow:none!important}
.rh-sa .rh-sa-option.selected .rh-sa-dot{border-color:var(--sage-500)!important;box-shadow:inset 0 0 0 4px var(--sage-50)!important;background:var(--sage-500)!important}

.rh-sa .rh-sa-back,.rh-sa .rh-sa-restart{appearance:none!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:24px 0 0!important;align-self:flex-start!important;color:var(--sage-700)!important;font-family:var(--font-sans)!important;font-size:14px!important;line-height:1.4!important;font-weight:500!important;cursor:pointer!important}

.rh-sa form{margin:0!important;padding:0!important;display:flex;flex-direction:column;gap:16px}
.rh-sa-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px!important;width:100%!important}
.rh-sa label{display:block!important;width:100%!important;font-family:var(--font-sans)!important;font-size:13px!important;line-height:1.4!important;font-weight:500!important;margin:0!important;padding:0!important;color:var(--charcoal-500)!important}
.rh-sa input,.rh-sa select{display:block!important;width:100%!important;height:48px!important;margin:7px 0 0!important;padding:12px 14px!important;border:1px solid var(--border-hairline)!important;border-radius:10px!important;background:var(--cream-white)!important;color:var(--charcoal-900)!important;font-family:var(--font-sans)!important;font-size:16px!important;line-height:1.3!important;font-weight:400!important;box-shadow:none!important;outline:none!important}
.rh-sa input:focus,.rh-sa select:focus{border-color:var(--sage-500)!important;box-shadow:0 0 0 3px rgba(122,155,130,.25)!important;outline:none!important}

.rh-sa .rh-sa-error{display:block!important;width:100%!important;color:#A85A4A!important;font-size:14px!important;line-height:1.4!important;margin:0!important}
.rh-sa .rh-sa-disclaimer{font-family:var(--font-sans)!important;font-size:13px!important;line-height:1.6!important;color:var(--charcoal-400)!important;margin-top:28px!important;margin-bottom:0!important}
.rh-sa .rh-sa-phone{display:block!important;margin-top:0 0 24px!important;padding:16px 20px!important;background:var(--sage-50)!important;border-radius:10px!important;color:var(--sage-900)!important;font-weight:500!important;text-decoration:none!important}
.rh-sa [hidden]{display:none!important}

@media(max-width:600px){
 .rh-sa{margin:24px auto}
 .rh-sa-screen:not(.rh-sa-intro){padding:28px 20px!important;border-radius:14px!important}
 .rh-sa-grid{grid-template-columns:1fr!important}
 .rh-sa .rh-sa-btn{width:100%!important}
 .rh-sa .rh-sa-option{font-size:12px!important; padding: 14px 18px !important;}

}
