.fin-layout { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:24px; align-items:start; }
.fin-questions { min-width:0; }
.fin-question { position:relative; padding-block:16px; border-bottom:1px solid #d8d0c7; }
.fin-question legend { float:none; width:100%; display:flex; align-items:center; gap:8px; line-height:1.5; margin-bottom:14px; }
.fin-help-trigger { border:0; background:transparent; color:#655b51; min-width:44px; min-height:44px; padding:8px; flex-shrink:0; font:22px/1 sans-serif; }
.fin-help { position:absolute; z-index:40; inset-inline:0; top:48px; width:auto; max-width:100%; background:#fff; border:1px solid #8b8074; border-radius:10px; padding:18px 46px 18px 18px; box-shadow:0 8px 24px #30241b26; font-size:14px; line-height:1.55; }
[dir=rtl] .fin-help { padding:18px 18px 18px 46px; }
.fin-help p { margin:0; }
.fin-help-close { position:absolute; inset-inline-end:0; top:0; width:44px; height:44px; border:0; background:transparent; font-size:26px; color:#453d36; }
.fin-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.fin-option { min-width:0; position:relative; }
.fin-question .fin-option label { display:block; margin:0; cursor:pointer; height:100%; }
.fin-option input { position:absolute; inset-inline-start:12px; top:12px; width:18px; height:18px; accent-color:#b20e29; z-index:1; }
.fin-option-face { min-height:100px; height:100%; display:flex; flex-direction:column; gap:9px; align-items:center; justify-content:center; padding:36px 12px 14px; border:1px solid #b8afa5; border-radius:8px; background:white; text-align:center; font-size:14px; font-weight:500; line-height:1.4; }
.fin-option-face img { width:30px; height:30px; object-fit:contain; }
.fin-option input:checked+.fin-option-face { border:2px solid #bd1530; padding:35px 11px 13px; background:#fff4f5; color:#941027; }
.fin-option input:focus-visible+.fin-option-face { outline:3px solid #b20e29; outline-offset:3px; }
.fin-option-help { position:absolute; inset-inline-end:0; top:0; }
.fin-option .fin-help { min-width:min(300px,calc(100vw - 64px)); }
.fin-option:nth-child(even) .fin-help { inset-inline-start:auto; inset-inline-end:0; }
.fin-chips,.fin-segments { display:flex; flex-wrap:wrap; }
.fin-chips .fin-option,.fin-segments .fin-option { flex:1 1 130px; }
.fin-chips .fin-option-face,.fin-segments .fin-option-face { min-height:64px; padding:12px 10px 12px 36px; }
[dir=rtl] .fin-chips .fin-option-face,[dir=rtl] .fin-segments .fin-option-face { padding:12px 36px 12px 10px; }
.fin-segments small { color:#5f554a; font-size:11px; }
.fin-interpret { color:#5d534a; font-size:13px; line-height:1.6; margin:12px 0 0; }
.fin-interpret a,.fin-footnote a { color:#941027; text-decoration:underline; }
.fin-error { color:#a10e27; font-size:14px; margin:10px 0; font-weight:600; }
.fin-question [aria-invalid=true] { outline:2px solid #a10e27; outline-offset:2px; }
.fin-inference { font-size:12px; line-height:1.5; background:#f0ece5; color:#4f463e; padding:10px; border-radius:6px; margin-bottom:12px; }
.fin-inference button { min-height:44px; border:0; color:#941027; text-decoration:underline; background:none; }
.fin-money-pair { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; }
.fin-money-wrap { position:relative; display:block; }
.fin-money-wrap>span { position:absolute; inset-inline-start:12px; top:15px; font-weight:400; }
#buyer-intake-form .fin-money-wrap input { padding-inline-start:30px; }
.fin-question input[type=text],.fin-question input[type=date],.fin-question input[type=number],.fin-question textarea { min-width:0; border-radius:8px; }
.fin-unsure { display:flex!important; align-items:center; gap:8px; min-height:44px; cursor:pointer; font-weight:400!important; font-size:13px!important; }
.fin-unsure input { width:20px; height:20px; accent-color:#b20e29; }
.fin-dual-range { position:relative; height:54px; margin:4px 12px 16px; }
.fin-range-track { position:absolute; inset-inline:0; height:6px; top:24px; background:linear-gradient(to right,#d2c8bd var(--low,11%),#b20e29 var(--low,11%),#b20e29 var(--high,33%),#d2c8bd var(--high,33%)); border-radius:4px; }
[dir=rtl] .fin-range-track { background:linear-gradient(to left,#d2c8bd var(--low,11%),#b20e29 var(--low,11%),#b20e29 var(--high,33%),#d2c8bd var(--high,33%)); }
#buyer-intake-form .fin-dual-range input[type=range] { position:absolute; width:100%; top:0; inset-inline-start:0; height:54px; min-height:54px; margin:0; padding:0; background:transparent; border:0; pointer-events:none; appearance:none; }
.fin-dual-range input::-webkit-slider-thumb { appearance:none; pointer-events:auto; width:44px; height:44px; border:10px solid #fff; outline:2px solid #941027; border-radius:50%; background:#b20e29; cursor:grab; }
.fin-dual-range input::-moz-range-thumb { pointer-events:auto; width:44px; height:44px; border:10px solid #fff; border-radius:50%; background:#b20e29; cursor:grab; }
.fin-dual-range input:focus-visible { outline:none; }
.fin-dual-range input:focus-visible::-webkit-slider-thumb { outline:4px solid #4c3929; }
#buyer-intake-form input[data-budget-slider] { padding:0; accent-color:#b20e29; border:0; }
.fin-snapshot { position:sticky; top:24px; border:1px solid #cfc2b2; background:#f6f0e6; border-radius:10px; padding:16px; }
.fin-snapshot summary { font-weight:600; cursor:pointer; min-height:44px; display:flex; align-items:center; }
.fin-snapshot summary::after { content:'▴'; margin-inline-start:auto; }
.fin-snapshot details:not([open]) summary::after { content:'▾'; }
.fin-snapshot-body { font-size:13px; line-height:1.65; }
.fin-snapshot-body h3 { font-family:inherit; font-size:14px; line-height:1.5; }
.fin-snapshot-body ul { padding-inline-start:18px; }
.fin-banner { background:#f5eee1; padding:16px; border-inline-start:4px solid #8a601c; line-height:1.6; font-size:14px; }
.fin-ladder { display:flex; gap:8px; padding-inline-start:20px; font-size:12px; }
.fin-ladder li { flex:1; border-block-end:3px solid #8b8074; padding-bottom:8px; }
.fin-gap-diagram { width:100%; max-width:240px; margin-top:12px; }
.fin-timeline { margin:32px 4px 16px; }
.fin-timeline-line { position:relative; height:5px; background:#6a6258; margin-bottom:16px; }
.fin-day45 { position:absolute; inset-inline-start:25%; top:-5px; width:3px; height:15px; background:#6a6258; }
.fin-today { position:absolute; top:-23px; transform:translateX(-50%); font-size:11px; color:#4b443c; white-space:nowrap; }
[dir=rtl] .fin-today { transform:translateX(50%); }
.fin-timeline[data-urgency=soon] .fin-timeline-line { background:#92620d; }
.fin-timeline[data-urgency=urgent] .fin-timeline-line { background:#b20e29; }
.fin-timeline-labels { display:grid; grid-template-columns:1fr 1.3fr 1.3fr; gap:10px; font-size:11px; line-height:1.5; }
.fin-sell { display:block; padding:14px; margin-top:12px; border:1px solid #b8afa5; color:#941027; line-height:1.5; }
.fin-footnote { scroll-margin-top:30px; color:#5d534a; }
.fin-question:not([hidden]) { animation:fin-reveal .18s ease-out; }
.fin-updated { animation:fin-fade .18s ease-out; }
@keyframes fin-reveal { from{opacity:0;transform:translateY(-5px)} to{opacity:1;transform:translateY(0)} }
@keyframes fin-fade { from{opacity:.55} to{opacity:1} }
@media(max-width:1100px){.fin-layout{grid-template-columns:minmax(0,1fr) 210px;gap:16px}.fin-options{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.fin-layout{display:flex;flex-direction:column;gap:16px}.fin-questions{width:100%}.fin-snapshot{position:sticky;bottom:60px;top:auto;width:100%;padding:6px 14px;z-index:10;box-shadow:0 -3px 12px #30241b15}.fin-snapshot-body{max-height:35vh;overflow:auto}.r2-field-focused .fin-snapshot{bottom:8px}}
@media(max-width:380px){.fin-options{grid-template-columns:1fr}.fin-option .fin-help{min-width:0}.fin-money-pair{gap:8px}.fin-option-face{font-size:13px}.fin-timeline-labels{font-size:10px}}
@media(prefers-reduced-motion:reduce){.fin-question:not([hidden]),.fin-updated{animation:none}}
.fin-band-estimate{display:block;font-size:12px;line-height:1.5;color:#941027;padding:4px 8px;text-decoration:underline}.fin-band-estimate:empty{display:none}
.fin-segments .fin-option label{height:auto}.fin-segments .fin-option-face{min-height:76px}.fin-band-estimate{min-height:44px;display:flex;align-items:center;justify-content:center}
.fin-sources{display:block;font-size:11px;line-height:1.65;color:#534b43;margin:7px 0;overflow-wrap:anywhere}
.fin-sources a,.fin-calculation a{color:#941027;text-decoration:underline}
.fin-calculation{border-top:1px solid #d8d0c7;margin-top:14px;padding-top:12px}
.fin-calculation h4{margin:0 0 8px;font-size:14px}
.fin-calculation ul{padding-inline-start:18px}
.fin-calculation li,.fin-calculation p{margin:8px 0}
.fin-help{max-height:70vh;overflow:auto;overscroll-behavior:contain}
