@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Sora:wght@600;700;800&display=swap");@tailwind base;@tailwind components;@tailwind utilities;:root{--sky:#d0e6f5;--teal:#00688b;--teal-mid:#3488a6;--blue:#4682b4;--red:#ff4b4b;--surface:#f4f8fc;--card:#fff;--border:#daeaf5;--border-mid:#b8d4e8;--ink:#0d1f2d;--ink-mid:#3a5068;--ink-soft:#6b8fa8;--ink-muted:#9ab8cc;--font-display:"Sora",sans-serif;--font-body:"DM Sans",sans-serif;--page-max:1200px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--surface);color:var(--ink);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);line-height:1.2;letter-spacing:-.02em}.page-wrap{max-width:var(--page-max);margin:0 auto;padding:0 1.5rem}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}.card-teal{background:var(--teal);border:none;border-radius:var(--radius-lg);padding:1.5rem;color:#fff}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;background:var(--red);color:#fff;border:none;border-radius:var(--radius-md);padding:.75rem 1.75rem;font-family:var(--font-body);font-size:.9375rem;font-weight:600;cursor:pointer;transition:background .15s,transform .1s;text-decoration:none}.btn-primary:hover{background:#e03c3c}.btn-primary:active{transform:scale(.98)}.btn-outline{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--teal);border:1.5px solid var(--teal);border-radius:var(--radius-md);padding:.75rem 1.75rem;font-family:var(--font-body);font-size:.9375rem;font-weight:600;cursor:pointer;transition:background .15s;text-decoration:none}.btn-outline:hover{background:var(--sky)}.btn-ghost{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--ink-mid);border:1px solid var(--border-mid);border-radius:var(--radius-md);padding:.625rem 1.25rem;font-family:var(--font-body);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s;text-decoration:none}.btn-ghost:hover{border-color:var(--teal);color:var(--teal);background:var(--sky)}.input{width:100%;background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius-md);padding:.5625rem .875rem;font-family:var(--font-body);font-size:.9375rem;color:var(--ink);transition:border-color .15s,box-shadow .15s}.input:focus{outline:none;border-color:var(--teal-mid);box-shadow:0 0 0 3px rgba(52,136,166,.12)}.input-label{display:block;font-size:.8125rem;font-weight:600;color:var(--ink-mid);margin-bottom:.375rem;letter-spacing:.01em}.metric{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem 1.25rem}.metric-label{font-size:.75rem;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.375rem}.metric-value{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--ink);letter-spacing:-.02em}.metric-delta{font-size:.8125rem;margin-top:.25rem;font-weight:500}.metric-delta.positive{color:#1a9e6e}.metric-delta.negative{color:var(--red)}.journey-nav{background:var(--card);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:100}.nav-top-row{display:none}.nav-stages-row{display:contents}.journey-nav-inner{max-width:var(--page-max);margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;height:60px;gap:.25rem}.nav-logo{font-family:var(--font-display);font-size:1.125rem;font-weight:800;color:var(--teal);letter-spacing:-.03em;margin-right:2rem;text-decoration:none;flex-shrink:0}.nav-stage{display:flex;align-items:center;gap:.5rem;padding:.375rem .875rem;border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;color:var(--ink-soft);text-decoration:none;transition:all .15s;cursor:default;white-space:nowrap}.nav-stage.unlocked{cursor:pointer;color:var(--ink-mid)}.nav-stage.active,.nav-stage.unlocked:hover{background:var(--sky);color:var(--teal)}.nav-stage.active{font-weight:600}.nav-stage.complete{color:var(--teal-mid)}.nav-step-circle{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:700;background:var(--border);color:var(--ink-soft);flex-shrink:0;transition:all .15s}.nav-stage.active .nav-step-circle{background:var(--teal);color:#fff}.nav-stage.complete .nav-step-circle{background:#1a9e6e;color:#fff}.nav-connector{width:20px;height:1px;background:var(--border);flex-shrink:0}.nav-connector.complete{background:var(--teal-mid)}.alert-info{background:var(--sky);border-left:3px solid var(--teal-mid);color:var(--teal)}.alert-info,.alert-warn{border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:.75rem 1rem;font-size:.875rem}.alert-warn{background:#fff8e6;border-left:3px solid #f0a500;color:#7a5200}.section-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-mid);margin-bottom:.5rem}.section-title{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:var(--ink);letter-spacing:-.025em}.section-sub{font-size:1rem;color:var(--ink-mid);margin-top:.5rem;line-height:1.65}.text-teal{color:var(--teal)}.text-blue{color:var(--blue)}.text-red{color:var(--red)}.text-soft{color:var(--ink-soft)}.text-muted{color:var(--ink-muted)}.bg-sky{background:var(--sky)}.bg-teal{background:var(--teal)}.divider{border:none;border-top:1px solid var(--border);margin:0}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .4s ease both}.fade-up-1{animation-delay:.05s}.fade-up-2{animation-delay:.12s}.fade-up-3{animation-delay:.19s}.fade-up-4{animation-delay:.26s}@media (max-width:1024px){.path-cta-btn{flex-direction:column!important;gap:0!important}.path-cta-arrow{display:block!important}.stage-continue-btn{justify-content:center!important}.afford-cta-row a,.stage-continue-btn{width:100%!important}.afford-cta-row{flex-direction:column!important;align-items:flex-start!important}.nav-label{display:none}.nav-logo{margin-right:0!important}.nav-rate-watch-label{display:none}.journey-nav-inner{gap:0!important;height:auto!important;flex-wrap:wrap!important;padding:.5rem .75rem!important}.nav-top-row{justify-content:space-between;margin-bottom:.375rem}.nav-stages-row,.nav-top-row{display:flex!important;width:100%;align-items:center}.nav-stages-row{justify-content:center}.nav-desktop-only{display:none!important}.nav-connector{width:8px;min-width:8px!important}.nav-rate-watch{padding:.25rem .5rem!important;height:28px!important}}@media (max-width:768px){*{min-width:0!important;box-sizing:border-box!important}body{overflow-x:hidden;max-width:100vw}.card{max-width:100%!important}.afford-layout,.afford-scenarios,.afford-two-col,.compare-columns,.compare-layout,.compare-next-steps,.compare-two-col{grid-template-columns:1fr!important}.afford-sidebar,.compare-sidebar{position:static!important;width:100%!important}.afford-page-wrap,.compare-page-wrap,.page-wrap,.tour-page-wrap{padding:1rem .75rem!important}.afford-cta-row a{white-space:normal!important;box-sizing:border-box!important}.afford-cta-row span{width:100%!important}.ai-insights-grid{grid-template-columns:1fr!important}.afford-cta-row{flex-direction:column!important;align-items:flex-start!important}.afford-cta-row a{width:100%!important}.compare-cta-row{flex-direction:column!important;align-items:flex-start!important}.compare-cta-row a{width:100%!important}.rate-watch-cards,.rate-watch-spread,.rvb-advanced,.rvb-inputs,.rvb-stats{grid-template-columns:1fr!important}.break-even-full{display:none!important}.break-even-short{display:inline!important}.loan-comp-grid{grid-template-columns:1fr!important}.loan-comp-actions{flex-direction:column-reverse!important}.section-card-rating-desktop{display:none!important}.section-card-rating-mobile{display:flex!important}.loan-comp-result-actions{flex-direction:column!important;gap:.5rem!important}.loan-comp-result-actions button,.stage-continue-btn{width:100%!important;justify-content:center!important}.recommend-banner{flex-wrap:wrap!important}.recommend-hint{max-width:100%!important;text-align:left!important;width:100%!important}.explorer-grid,.metrics-grid,.metrics-grid-4,.milestone-grid,.path-grid{grid-template-columns:1fr!important}.feature-grid{grid-template-columns:1fr 1fr!important}.stage-grid{gap:.25rem!important}.stage-grid>div>div:last-child{display:none}.tour-viewer-container{height:45vh!important;min-height:320px!important}.tour-navbar-room-select{max-width:130px!important;font-size:.75rem!important;padding-right:1.5rem!important}.btn-row,.field-row{flex-direction:column!important}.btn-row>a,.btn-row>button{width:100%!important;justify-content:center!important}}@media (max-width:1024px) and (min-width:769px){.afford-layout,.compare-layout{grid-template-columns:240px 1fr!important}.afford-scenarios{grid-template-columns:1fr!important}.compare-columns{grid-template-columns:repeat(2,1fr)!important}.explorer-grid{grid-template-columns:1fr 140px!important}.metrics-grid,.metrics-grid-4{grid-template-columns:1fr 1fr!important}.compare-layout>div:last-child{min-width:0!important;overflow:hidden!important}.compare-layout>div:last-child>div{min-width:0!important}.path-grid>div button{min-height:56px}.break-even-short{display:none!important}}@media (max-width:380px){.nav-rate-label{display:none}.nav-top-row button{font-size:.75rem;padding:.375rem .5rem}}
/* !important throughout: PSV's own default CSS (imported inside the tour
   page component) compiles into a route-specific chunk that loads after
   globals.css's layout chunk, so it wins the cascade at equal specificity
   without this. */.psv-virtual-tour-arrows{filter:none!important}.tour-hotspot-dot{width:100%;height:100%;border-radius:50%;background:hsla(0,0%,100%,.55);border:2px solid hsla(0,0%,100%,.85);transition:background .15s,border-color .15s;cursor:pointer}.psv-virtual-tour-link:hover .tour-hotspot-dot{background:hsla(0,0%,100%,.9);border-color:#fff}.psv-tooltip{background:var(--ink)!important;border-radius:var(--radius-md)!important;box-shadow:0 4px 16px rgba(0,0,0,.3)}.psv-tooltip-content{font-size:.8125rem!important;font-weight:600!important;text-shadow:none!important;padding:.5em .875em}.psv-tooltip-content,.psv-tooltip-content h3,.psv-tooltip-content p{font-family:var(--font-body)!important;color:#fff!important}.psv-tooltip--top-center .psv-tooltip-arrow,.psv-tooltip--top-left .psv-tooltip-arrow,.psv-tooltip--top-right .psv-tooltip-arrow{border-top-color:var(--ink)!important}.psv-tooltip--bottom-center .psv-tooltip-arrow,.psv-tooltip--bottom-left .psv-tooltip-arrow,.psv-tooltip--bottom-right .psv-tooltip-arrow{border-bottom-color:var(--ink)!important}.psv-tooltip--center-left .psv-tooltip-arrow,.psv-tooltip--left-bottom .psv-tooltip-arrow,.psv-tooltip--left-top .psv-tooltip-arrow{border-left-color:var(--ink)!important}.psv-tooltip--center-right .psv-tooltip-arrow,.psv-tooltip--right-bottom .psv-tooltip-arrow,.psv-tooltip--right-top .psv-tooltip-arrow{border-right-color:var(--ink)!important}.tour-navbar-room-select{background:transparent;color:hsla(0,0%,100%,.9);border:none;border-left:1px solid hsla(0,0%,100%,.15);padding:0 2rem 0 .875rem;font-family:var(--font-body);font-size:.8125rem;font-weight:500;cursor:pointer;max-width:220px}.tour-navbar-room-select:focus,.tour-navbar-room-select:hover{background:hsla(0,0%,100%,.08);outline:none}.tour-navbar-room-select option{background:var(--ink);color:#fff}.tour-layout{display:grid;grid-template-columns:1fr 360px;grid-gap:1.5rem;gap:1.5rem;margin-top:1.5rem}.tour-viewer-column{grid-column:1;grid-row:1;min-width:0}.tour-side-panel{grid-column:2;grid-row:1;padding:0!important;overflow:hidden;height:60vh;min-height:400px;display:flex;flex-direction:column}.tour-side-panel-header{display:flex;align-items:center;gap:.5rem;width:100%;flex-shrink:0;background:var(--teal);color:#fff;padding:.875rem 1rem;font-family:var(--font-body);font-size:.8125rem;font-weight:700}.tour-side-panel-body{padding:1.25rem;flex:1 1;min-height:0;overflow-y:auto}.tour-cta-zone{grid-column:1;grid-row:2}.tour-cta-zone.tour-cta-span-full{grid-column:1/-1}.tour-cta-zone.tour-cta-row-3{display:flex;gap:.75rem}.tour-cta-zone.tour-cta-row-3>*{flex:1 1;min-width:0}.tour-panel-cta-row{grid-column:2;grid-row:2}@media (max-width:768px){.tour-layout{grid-template-columns:1fr!important}.tour-viewer-column{grid-column:1;grid-row:1}.tour-side-panel{grid-column:1;grid-row:2;height:auto!important;min-height:0!important}.tour-panel-cta-row{grid-column:1;grid-row:3}.tour-cta-zone{grid-column:1;grid-row:4}.tour-cta-zone.tour-cta-row-3{flex-direction:column}.tour-side-panel-body{max-height:none}}.tour-analysis-bar{position:absolute;top:.75rem;left:.75rem;right:.75rem;z-index:50;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 4px 16px rgba(0,0,0,.25);overflow:hidden}.tour-analysis-bar-toggle{display:flex;align-items:center;gap:.5rem;width:100%;background:none;border:none;padding:.5rem .75rem;cursor:pointer;text-align:left;font-family:var(--font-body)}.tour-analysis-bar-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.tour-analysis-bar-label{flex:1 1;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-soft)}.tour-analysis-bar-chevron{flex-shrink:0;color:var(--ink-muted);font-size:.6875rem}.tour-analysis-bar-body{border-top:1px solid var(--border);padding:.5rem .75rem .625rem;max-height:140px;overflow-y:auto}body.tour-hide-nav .nav-rate-watch,body.tour-hide-nav .nav-stages-row{display:none!important}.tour-tag-marker{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-body);font-size:.8125rem;font-weight:700;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35);cursor:pointer}