/* ===== Rent vs Buy Calculator (Palladium) ===== */
.rvb { background:#ffffff; color:#11181d; padding:9rem 4vw 6rem; font-family:'Instrument Sans', sans-serif; }
.rvb-head { max-width:760px; margin:0 auto 3rem; text-align:center; }
.rvb-eyebrow { font-size:.78rem; letter-spacing:.22em; text-transform:uppercase; color:#6b7780; font-weight:600; }
.rvb-head h1 { font-size:clamp(2.2rem,5vw,3.6rem); font-weight:700; letter-spacing:-.03em; line-height:1.05; margin:.4em 0 .5em; }
.rvb-head p { font-size:1.05rem; line-height:1.7; color:#5a656d; margin:0; }

.rvb-wrap { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; max-width:1100px; margin:0 auto; align-items:start; }

/* ---- inputs ---- */
.rvb-inputs { background:#f4f6f8; border:1px solid #e9eef2; border-radius:16px; padding:2rem 1.8rem; }
.rvb-col-title { font-size:1.15rem; font-weight:700; margin:0 0 1.4rem; letter-spacing:-.01em; }
.rvb-field { margin-bottom:1.4rem; }
.rvb-field-top { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.5rem; }
.rvb-field label { font-size:.92rem; font-weight:600; color:#2a3640; }
.rvb-num { display:flex; align-items:center; gap:.25rem; background:#fff; border:1px solid #d5dce1; border-radius:8px; padding:.25rem .5rem; }
.rvb-num:focus-within { border-color:#11181d; }
.rvb-num input { width:7.5em; border:none; outline:none; font-family:inherit; font-size:.95rem; font-weight:600; color:#11181d; text-align:right; background:transparent; -moz-appearance:textfield; }
.rvb-num input::-webkit-outer-spin-button, .rvb-num input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.rvb-pre, .rvb-suf { font-size:.8rem; color:#8a98a3; font-weight:600; white-space:nowrap; }
.rvb-pre:empty, .rvb-suf:empty { display:none; }
select#rvb_years { width:100%; border:1px solid #d5dce1; border-radius:8px; padding:.7rem .9rem; font-family:inherit; font-size:.95rem; font-weight:600; color:#11181d; background:#fff; outline:none; cursor:pointer; }
select#rvb_years:focus { border-color:#11181d; }

.rvb-range { -webkit-appearance:none; appearance:none; width:100%; height:4px; border-radius:4px; background:#d5dce1; outline:none; margin:.2rem 0 0; }
.rvb-range::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:18px; height:18px; border-radius:50%; background:#11181d; cursor:pointer; border:3px solid #fff; box-shadow:0 1px 4px rgba(0,0,0,.25); }
.rvb-range::-moz-range-thumb { width:16px; height:16px; border-radius:50%; background:#11181d; cursor:pointer; border:3px solid #fff; }

.rvb-adv { margin-top:.5rem; border-top:1px solid #e1e6ea; padding-top:1rem; }
.rvb-adv summary { cursor:pointer; font-size:.9rem; font-weight:700; color:#11181d; letter-spacing:.01em; list-style:none; display:flex; align-items:center; gap:.4rem; }
.rvb-adv summary::-webkit-details-marker { display:none; }
.rvb-adv summary:before { content:"+"; font-size:1.1rem; line-height:1; color:#8a98a3; }
.rvb-adv[open] summary:before { content:"\2013"; }
.rvb-adv summary { margin-bottom:1.2rem; }

/* ---- results ---- */
.rvb-results { background:#11181d; color:#fff; border-radius:16px; padding:2.2rem 2rem; position:sticky; top:90px; }
.rvb-verdict { border-bottom:1px solid rgba(255,255,255,.14); padding-bottom:1.4rem; margin-bottom:1.4rem; }
.rvb-verdict-label { font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:#8b959d; }
.rvb-verdict h2 { font-size:clamp(1.8rem,3.4vw,2.4rem); font-weight:700; letter-spacing:-.02em; margin:.3rem 0 .5rem; }
.rvb-verdict-amt { font-size:1.05rem; margin:0; color:#cfd6dc; }
.rvb-verdict-amt #rvb-out-savings { font-weight:700; color:#fff; font-size:1.25rem; }
.rvb-verdict.is-buy h2 { color:#7fe1bf; }
.rvb-verdict.is-rent h2 { color:#ffd27f; }

.rvb-bars { display:flex; flex-direction:column; gap:1rem; margin-bottom:1.6rem; }
.rvb-bar-row { display:grid; grid-template-columns:1fr; gap:.35rem; }
.rvb-bar-label { font-size:.82rem; color:#aab3ba; }
.rvb-bar-val { font-size:.95rem; font-weight:700; }
.rvb-bar-track { height:10px; background:rgba(255,255,255,.1); border-radius:6px; overflow:hidden; }
.rvb-bar { height:100%; width:0; border-radius:6px; transition:width .5s cubic-bezier(.4,0,.2,1); }
.rvb-bar-buy { background:#7fe1bf; }
.rvb-bar-rent { background:#ffd27f; }

.rvb-grid { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; margin-bottom:1.4rem; }
.rvb-stat { background:rgba(255,255,255,.06); border-radius:10px; padding:.85rem .95rem; }
.rvb-stat-l { display:block; font-size:.74rem; letter-spacing:.04em; color:#8b959d; margin-bottom:.25rem; }
.rvb-stat-n { font-size:1.05rem; font-weight:700; }

.rvb-note { font-size:.9rem; line-height:1.5; color:#aab3ba; margin:0 0 1.4rem; }
.rvb-cta { width:100%; background:#fff; color:#11181d; border:none; border-radius:999px; padding:.95rem 1.5rem; font-family:inherit; font-size:1rem; font-weight:600; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:.5rem; transition:transform .2s ease, background .2s ease; }
.rvb-cta:hover { transform:translateY(-2px); background:#e9eef2; }
.rvb-disclaimer { font-size:.72rem; line-height:1.5; color:#6b7780; margin:1rem 0 0; }

@media (max-width:860px){
	.rvb { padding:7rem 6vw 4rem; }
	.rvb-wrap { grid-template-columns:1fr; gap:1.6rem; }
	.rvb-results { position:static; }
}
