.material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; }
  body { font-family: 'Inter', sans-serif; background: #ffffff; }
  .step-panel { display: none; }
  .step-panel.active { display: block; animation: stepRise 0.34s ease; }
  @keyframes stepRise { from { transform: translateY(8px); opacity:0; } to { transform: translateY(0); opacity:1; } }
  @media (min-width: 640px) { .step-panel.active { min-height: 300px; } }
  .app-card { background:#fff; border-radius:18px; border:1px solid rgba(191,201,191,0.5); box-shadow:0 1px 2px rgba(0,52,28,0.05), 0 18px 40px -20px rgba(0,52,28,0.16); }
  .qhead { font-size: clamp(1.5rem, 3.5vw, 1.85rem); font-weight:700; color:#1a1a1a; line-height:1.25; letter-spacing:-0.01em; }
  .apply-form input[type=text], .apply-form select {
    padding:12px 14px !important; border-radius:10px !important; border-color:#bfc9bf !important; font-size:15px; transition:border-color .15s, box-shadow .15s; }
  .apply-form .relative input { padding-left:30px !important; }
  input:focus, select:focus { outline:none; border-color:#00341c !important; box-shadow:0 0 0 3px rgba(0,52,28,.12); }
  .field-label { display:block; font-size:14px; font-weight:600; color:#1a1a1a; margin-bottom:7px; }
  .cs { position:relative; }
  .cs-native { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); border:0; }
  .cs-trigger { width:100%; display:flex; align-items:center; justify-content:space-between; gap:8px; border:1px solid #bfc9bf; border-radius:10px; padding:12px 14px; font-size:15px; line-height:1.2; background:#fff; color:#1a1a1a; text-align:left; cursor:pointer; transition:border-color .15s, box-shadow .15s; }
  .cs-trigger:hover { border-color:#00341c; }
  .cs-trigger.open, .cs-trigger:focus { outline:none; border-color:#00341c; box-shadow:0 0 0 3px rgba(0,52,28,.12); }
  .cs-label { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .cs-label.cs-placeholder { color:#9aa39c; }
  .cs-caret { font-size:20px; color:#404942; flex-shrink:0; transition:transform .15s; }
  .cs-trigger.open .cs-caret { transform:rotate(180deg); }
  .cs-menu { position:absolute; top:calc(100% + 5px); left:0; right:0; z-index:30; background:#fff; border:1px solid #bfc9bf; border-radius:10px; box-shadow:0 14px 36px rgba(0,40,24,.16); padding:6px; max-height:280px; overflow:auto; display:none; }
  .cs-menu.cs-menu--up { top:auto; bottom:calc(100% + 5px); }
  .cs-menu.open { display:block; }
  .cs-opt { display:block; width:100%; text-align:left; padding:10px 12px; font-size:15px; border-radius:8px; color:#404942; cursor:pointer; background:none; border:none; }
  .cs-opt:hover { background:#f8fafc; color:#00341c; }
  .progress-fill { transition: width 0.45s cubic-bezier(0.4,0,0.2,1); }
  .yn-group { display:inline-flex; gap:8px; }
  .yn-btn { min-width:84px; padding:11px 20px; border-radius:10px; border:1.5px solid #bfc9bf; background:#fff; color:#404942; font-size:14px; font-weight:700; cursor:pointer; transition:all .15s ease; line-height:1; }
  .yn-btn:hover { border-color:#00341c; color:#00341c; }
  .yn-btn.active { background:#00341c; border-color:#00341c; color:#fff; box-shadow:0 4px 12px rgba(0,52,28,.18); }

::selection { background: #00341c; color: #fff; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ---- Hero eligibility form + estimates card ---- */
    .rvm-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
    .rvm-span2{grid-column:1/-1;}
    .rvm-addr{grid-column:1/-1;display:grid;grid-template-columns:1.7fr 1fr;gap:10px;}
    /* Clean "label above the input" fields — matches the HEI calculator + HELOC card */
    .rvm-field label{display:block;font-size:11px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:#00341c;margin:0 0 5px;}
    .rvm-field input,.rvm-field select{width:100%;height:40px;border:1px solid #cdd6cf;border-radius:10px;padding:0 12px;font-size:15px;color:#1a1a1a;background:#fff;outline:none;-webkit-appearance:none;appearance:none;transition:border-color 130ms,box-shadow 130ms;}
    .rvm-field input:focus,.rvm-field select:focus{border-color:#00341c;box-shadow:0 0 0 3px rgba(0,52,28,0.12);}
    .rvm-field.rvm-err input,.rvm-field.rvm-err select{border-color:#ba1a1a;box-shadow:0 0 0 3px rgba(186,26,26,0.10);}
    .rvm-field select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%2300341c' stroke-width='2' fill='none' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:30px;}
    .rvm-field input::placeholder{color:#a3ada5;}
    .rvm-field .wrap{position:relative;}
    .rvm-field .wrap span{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#8a8f8b;font-size:15px;}
    .rvm-field .wrap input{padding-left:24px;}
    .rvm-seg{display:flex;gap:8px;}
    .rvm-seg-btn{flex:1;height:40px;border:1px solid #cdd6cf;border-radius:10px;background:#fff;font-size:14px;font-weight:700;color:#404942;cursor:pointer;line-height:1;transition:background 130ms,border-color 130ms,color 130ms;}
    .rvm-seg-btn:hover{border-color:#00341c;color:#00341c;}
    .rvm-seg-btn.is-on{background:#00341c;border-color:#00341c;color:#fff;}
    .rvm-btn{width:100%;margin-top:14px;background:#f5b820;color:#3d2b0f;font-weight:800;font-size:15px;letter-spacing:0.03em;text-transform:uppercase;border:none;border-radius:10px;padding:14px;cursor:pointer;transition:background 130ms,transform 130ms;box-shadow:0 12px 26px -12px rgba(0,0,0,0.35);}
    .rvm-btn:hover{background:#f8c84d;} .rvm-btn:active{transform:scale(0.98);}
    .rvm-btn[disabled]{opacity:0.7;cursor:wait;}
    .rvm-consent{margin-top:10px;font-size:10px;line-height:1.55;color:#8a8f8b;text-align:center;}
    .rvm-consent a{color:#00341c;text-decoration:underline;}
    .rvq{background:#f0faf4;border:1px solid #cfe8d8;border-radius:16px;padding:16px;}
    .rvq h3{text-align:left;font-size:12px;font-weight:800;letter-spacing:0.08em;color:#00341c;margin:0 0 10px;text-transform:uppercase;}
    .rvq-primary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:#00341c;color:#fff;font-weight:800;font-size:14.5px;letter-spacing:0.01em;border:none;border-radius:10px;padding:14px;cursor:pointer;transition:background 130ms,transform 130ms;box-shadow:0 10px 22px -12px rgba(0,52,28,0.55);}
    .rvq-primary:active{transform:scale(0.99);}
    .rvq-primary:hover{background:#004d2c;}
    .rvq-primary[disabled]{background:#0f5132;cursor:default;}
    .rvq-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:8px;}
    .rvq-row.rvq-four{grid-template-columns:repeat(4,1fr);margin-top:0;}
    @media (max-width:480px){.rvq-row.rvq-four{grid-template-columns:1fr 1fr;}}
    @media (max-width:400px){.rvq-row{grid-template-columns:1fr;}.rvq-row.rvq-four{grid-template-columns:1fr 1fr;}}
    .rvq-sec{display:flex;align-items:center;justify-content:center;gap:6px;border:1.5px solid #00341c;color:#00341c;background:#fff;font-weight:700;font-size:13.5px;border-radius:10px;padding:10px 6px;text-decoration:none;transition:background 130ms;}
    .rvq-sec:hover{background:#f2f9f5;}
    .rvq-book{background:#f5b820;border-color:#f5b820;color:#3d2b0f;}
    .rvq-book:hover{background:#f8c84d;}
    .rvs-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
    .rvs-head .rve-h{margin:0;}
    .rvs-badge{flex-shrink:0;background:#e1f5ee;color:#00341c;font-size:10px;font-weight:800;letter-spacing:0.07em;text-transform:uppercase;border-radius:9999px;padding:5px 11px;}
    .rvs-sent{display:flex;align-items:center;justify-content:center;gap:9px;padding:14px 4px 2px;}
    .rvs-sent .ic{display:inline-flex;width:30px;height:30px;border-radius:9999px;background:#e1f5ee;align-items:center;justify-content:center;color:#00341c;flex-shrink:0;}
    .rvs-sent .ic .material-symbols-outlined{font-size:17px;}
    .rvs-sent p{font-size:13px;color:#5a655d;margin:0;line-height:1.5;}
    .rvs-sent p b{color:#1a1a1a;}
    .rvm-sent{text-align:center;padding:18px 6px 4px;}
    .rvm-sent .ic{display:inline-flex;width:52px;height:52px;border-radius:9999px;background:#e1f5ee;align-items:center;justify-content:center;margin-bottom:8px;color:#00341c;}
    .rvm-sent h4{font-size:18px;font-weight:800;color:#1a1a1a;margin:0 0 4px;}
    .rvm-sent p{font-size:13.5px;color:#5a655d;margin:0;line-height:1.6;}
    .rvm-sent p b{color:#00341c;}
    .rvm-below{margin-top:2px;}
    .rvm-back{display:block;text-align:center;margin:12px auto 0;font-size:12.5px;font-weight:700;color:#00341c;text-decoration:underline;cursor:pointer;background:none;border:none;}
    .rve-h{font-size:16.5px;font-weight:800;color:#1a1a1a;margin:0 0 10px;}
    .rve-panel{background:#f5f7f5;border-radius:14px;padding:4px 16px;}
    .rve-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:13px 0;border-bottom:1px solid #e4e9e4;}
    .rve-row:last-child{border-bottom:none;}
    .rve-row.dim{opacity:0.6;}
    .rve-name{font-size:15px;font-weight:800;color:#1a1a1a;line-height:1.3;}
    .rve-desc{font-size:12px;color:#6b756d;margin-top:1px;}
    .rve-ten{font-size:10.5px;font-weight:700;letter-spacing:0.04em;color:#404942;text-transform:uppercase;margin-top:4px;}
    .rve-ten b{color:#00341c;}
    .rve-amt{font-size:20px;font-weight:900;color:#00341c;white-space:nowrap;letter-spacing:-0.01em;line-height:1.1;text-align:right;}
    .rve-amt-l{display:block;font-size:9px;font-weight:700;letter-spacing:0.08em;color:#8a8f8b;text-transform:uppercase;margin-top:2px;text-align:right;}
    .rve-note{font-size:10.5px;color:#8a8f8b;text-align:left;margin-top:10px;line-height:1.55;}
    /* Soft entrance when the card swaps between form, results, and declined states */
    #rvmCard > div{animation:rvmIn 220ms cubic-bezier(0.4,0,0.2,1);}
    @keyframes rvmIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
    @media (prefers-reduced-motion:reduce){#rvmCard > div{animation:none;}}
    /* ---- Click-to-play video facade ---- */
    .rvv-play{transition:transform 130ms cubic-bezier(0.4,0,0.2,1);}
    .rvv:hover .rvv-play{transform:scale(1.06);}
