/* Keep each photo's original colors; the two desktop columns share their full height. */
.hero-visual[data-view=banks]>img{object-position:64% center}
.compact-living{align-items:stretch}
.compact-living-photo{height:auto;min-height:0;align-self:stretch}
.compact-living-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
/* Two identical tracks make a continuous loop; original optical logo sizing is retained. */
.bank-marquee{overflow:hidden;width:100%;margin-top:26px}
.bank-track{display:flex;width:max-content;animation:bank-loop 34s linear infinite;will-change:transform}
.banks .bank-grid{display:flex;flex:none;gap:0;margin:0;width:auto}
.banks .bank-item{flex:0 0 clamp(170px,15.3vw,260px);width:clamp(170px,15.3vw,260px);padding:18px 26px;opacity:1;visibility:visible}
@keyframes bank-loop{to{transform:translateX(-50%)}}
/* Completed story becomes a regular section. No rewind or empty scroll distance. */
.rate-story-track.story-track-complete{height:auto}
.rate-story-track.story-track-complete>.story-enabled{position:relative;top:auto;height:auto;min-height:0;padding:48px 0 24px}
html.story-settling,html.story-settling body{scroll-behavior:auto!important;overflow-anchor:none!important}
/* Compact schedule: compare all funding sources across the same row. */
.sim-section>.sim-heading{padding-top:36px;padding-bottom:22px}
.sim-heading .eyebrow{margin-bottom:12px}
.sim-heading h2{font-size:clamp(28px,2.5vw,38px);line-height:1.2}
.sim-heading h2 br{display:none}
.sim-heading>p:last-child{margin-top:10px;font-size:15px;line-height:1.5;max-width:none}
.finance-workbench{max-width:1560px}
.sim-section>.sim-heading{max-width:1560px}
.property-compact{padding:13px 22px;font-size:15px}
.property-compact>span:last-child>b{font-size:19px}
.plan-picker{position:relative;top:auto;padding:10px 22px 0}
.plan-picker>p{margin-bottom:6px;font-size:13px}
.finance-tabs button{min-height:48px;padding:8px 12px}
.active-plan-line{padding:10px 22px 0;font-size:14px}
.finance-columns{grid-template-columns:minmax(0,1.55fr) minmax(340px,1fr);gap:24px;padding:12px 22px 18px}
.panel-heading h3,.calculator-heading h3{font-size:21px}
.panel-heading p{font-size:14px;margin:4px 0 5px;line-height:1.5}
.table-toolbar{min-height:34px;margin:0 0 5px}
.table-toolbar label{min-height:34px}
.payment-table-scroll{overflow-x:auto;overscroll-behavior-inline:contain;border-radius:9px}
.payment-table{table-layout:auto}
.payment-table th,.payment-table td{padding:9px 9px}
.payment-table thead th{font-size:12px;line-height:1.4;text-align:right;white-space:nowrap;width:auto}
.payment-table thead th:first-child,.payment-table tbody th,.payment-table tfoot th{width:32%;text-align:left;font-size:14px}
.payment-table thead th:last-child,.payment-table td{width:auto}
.payment-table tbody td,.payment-table tfoot td,.payment-table.exact tbody td,.payment-table.exact tfoot td{font-size:15px;line-height:1.45;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:0;background:white}
.payment-table tbody td:nth-child(2),.payment-table tfoot td:nth-child(2){color:#36721d;font-weight:650;background:#f8fbef}
.payment-table tbody td.zero-payment{font-size:15px;color:#78856d;font-weight:400}
.payment-table td .amount-unit{font-size:11px;display:block;margin:0;line-height:1.25}
.payment-table small{font-size:12px;line-height:1.4;margin-top:3px}
.payment-table tfoot th,.payment-table tfoot td{background:#eef5dc;border-bottom:0;font-size:14px}
.payment-table tfoot td.advance-total{font-size:12px;white-space:normal;font-weight:400;color:#687656}
.next-payment{padding-top:9px;font-size:13px;line-height:1.5}
.advance-reminder{font-size:12px;line-height:1.6;color:#627054;margin:8px 0 0}
.funding-details{margin-top:9px}
.funding-details summary{min-height:36px;padding:7px 0;font-size:13px}
.funding-stage-notes p{font-size:14px;color:#526443;line-height:1.6;margin:8px 0}
.finance-download{min-height:36px;padding:8px 0;font-size:14px}
.capital-calculator{padding:16px;border-radius:10px}
.calculator-heading p{margin:5px 0 9px;font-size:13px}
.calculator-heading>.plan-badge{font-size:12px}
.capital-target{padding:10px 0;margin-bottom:10px}
.capital-target>span{font-size:13px}
.capital-target strong{font-size:27px}
.control-head label{font-size:14px}
.capital-field{margin-bottom:5px}
.capital-field input[type=range]{height:20px;margin:3px 0 0}
.capital-result{padding:12px;margin-top:7px}
.result-top strong{font-size:27px}
.result-top>span{font-size:13px}
#saving-gap{font-size:14px;margin-top:9px;padding-top:9px}
.result-explanation{font-size:12px;line-height:1.5;margin-top:6px}
.calculator-cta{min-height:44px;padding:10px;margin-top:10px;font-size:14px}
.calculation-note{padding:10px 22px;font-size:12px;line-height:1.5}
@media(max-width:1100px){.finance-columns{grid-template-columns:minmax(0,1.25fr) minmax(315px,1fr);gap:16px;padding:14px 18px}.finance-workbench .capital-calculator{padding:14px}.payment-table.exact{min-width:610px}.payment-table-scroll:has(.exact):after{content:'Vuốt ngang để xem đủ các cột';display:block;font-size:12px;color:#5f6d52;padding-top:8px;position:sticky;left:0}}
@media(max-width:900px){.finance-columns{display:flex;flex-direction:column;gap:20px}.payment-schedule,.capital-calculator{width:100%}.capital-calculator{order:0}.payment-schedule{order:1}.mobile-schedule-link{display:block}.plan-picker{position:sticky;top:78px}.payment-table{min-width:540px}.payment-schedule{scroll-margin-top:190px}}
@media(max-width:760px){.compact-living-photo{height:320px;border-radius:100px 100px 8px 8px}.bank-marquee{margin-top:18px}.banks .bank-item{flex-basis:180px;width:180px;padding-inline:20px}.bank-track{animation-duration:28s}.sim-section>.sim-heading{padding-top:36px;padding-bottom:23px}.sim-heading h2 br{display:block}.finance-tabs button{min-height:68px}.plan-picker{padding:10px 10px 0}.property-compact{padding:15px 17px}.active-plan-line{padding:12px 17px 0}.finance-columns{padding:14px}.payment-table th,.payment-table td{padding:11px 9px}.finance-workbench .capital-calculator{padding:16px}.capital-field{margin-bottom:8px}.capital-field input[type=range]{height:28px}.capital-target>span{font-size:14px}.capital-target strong{font-size:28px}.calculator-heading>.plan-badge{float:none}.calculation-note{padding:14px 18px}.table-toolbar{font-size:12px;gap:8px}.payment-table-scroll:after{content:'Vuốt ngang để xem các nguồn thanh toán';display:block;font-size:12px;color:#5f6d52;padding-top:8px;position:sticky;left:0}.payment-table tbody td,.payment-table.exact tbody td{font-size:15px}}
@media(prefers-reduced-motion:reduce){.bank-track{animation:none;will-change:auto}.bank-marquee{overflow-x:auto}.bank-track>.bank-grid[aria-hidden=true]{display:none}}
/* Keep the complete working area within a typical desktop viewport. */
@media(min-width:901px){
 .sim-section>.sim-heading{padding-top:26px;padding-bottom:17px}
 .sim-heading>p:last-child{position:static;margin-top:8px}
 .property-compact{padding-top:10px;padding-bottom:10px;line-height:1.4}
 .property-compact small{line-height:1.4}
 .plan-picker{padding-top:8px}.plan-picker>p{line-height:1.4;margin-bottom:5px}
 .finance-tabs button{line-height:1.3;min-height:44px}
 .active-plan-line{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0}
 .finance-columns{padding-top:16px;padding-bottom:14px}
 .calculator-heading p{display:none}.calculator-heading{min-height:29px;margin-bottom:8px}
 .capital-target strong small,.result-top strong small{display:inline;margin:0 0 0 5px;font-size:12px}
 .capital-target{padding:9px 0;min-height:48px}.capital-target>span{max-width:210px}
 .capital-result{padding:11px}.result-top>span{max-width:none}.result-top strong{font-size:26px}
 .calculator-cta{margin-top:9px}
}
/* Living carousel: full descriptions on desktop, one matched photo and description on mobile. */
.living-carousel{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:auto 1fr;gap:12px 60px;align-items:stretch}
.living-intro{grid-column:1;grid-row:1}.living-intro .compact-lead{margin-bottom:12px}
.living-selector{grid-column:1;grid-row:2;display:grid;gap:8px;align-content:start}
.living-selector button{display:flex;gap:15px;align-items:flex-start;width:100%;padding:14px 16px;border:1px solid transparent;border-radius:12px;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer;transition:background .25s,border-color .25s}
.living-selector button[aria-selected=true]{background:#edf4dc;border-color:#c6d9a5}
.living-selector button:hover{background:#f0f5e5;border-color:#a9c37e}
.living-tab-icon{color:#638c35;width:28px;height:28px;flex:0 0 28px;font-size:30px;line-height:1;transition:transform .3s}
.living-selector button:hover .living-tab-icon{transform:translateY(-3px)}
.living-selector b{display:block;font-size:18px;font-weight:600;line-height:1.4;margin-bottom:4px}
.living-tab-description{font-size:15px;line-height:1.65;color:#687658;display:block}
.living-short-label,.living-detail{display:none}
.living-gallery{grid-column:2;grid-row:1/3;min-height:0;position:relative}
.living-carousel .compact-living-photo{height:100%;min-height:0;position:absolute;inset:0;border-radius:150px 150px 10px 10px}
.living-carousel .compact-living-photo img{object-position:center}
.plan-expand-hint,.plan-mobile-toggle,.plan-mobile-limit,.mobile-calculate-link{display:none}
.plan-details{display:flex;flex-direction:column;flex:1}
.combined-plans .plan-details>p{font-size:16px;line-height:1.6;margin:0 0 22px;color:var(--muted)}
.combined-plans .featured .plan-details>p{color:#e0edcd}
/* The logos keep moving even when the pointer rests on the row. */
.banks .bank-grid{min-width:100vw}
.bank-track{animation-play-state:running}
@media(max-width:900px){
 .finance-columns .payment-schedule{order:0}.finance-columns .capital-calculator{order:1}
 .mobile-calculate-link{display:flex;margin-top:16px;gap:5px;justify-content:center;min-height:46px;font-size:14px}
 #capital-calculator{scroll-margin-top:195px}
}
@media(max-width:760px){
 .rate-story-track.story-track-complete>.story-enabled{padding:32px 0 12px}
 .living-carousel{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:14px;padding-top:36px;padding-bottom:36px}
 .living-intro,.living-selector,.living-gallery{grid-column:1;grid-row:auto}
 .living-intro .eyebrow{margin-bottom:16px}.living-intro h2{font-size:clamp(28px,7.8vw,35px)}
 .living-intro .compact-lead{margin:12px 0 0;font-size:15px;line-height:1.55}
 .living-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 .living-selector button{padding:12px 5px;min-height:50px;align-items:center;justify-content:center;border:1px solid #d7e3c3;border-radius:8px;gap:5px;background:#fff}
 .living-selector button[aria-selected=true]{background:#39791b;color:#fff;border-color:#39791b}
 .living-selector b{font-size:13px;margin:0;white-space:nowrap}.living-selector button[aria-selected=true] .living-tab-icon{color:#efffb0}
 .living-tab-icon{width:18px;height:18px;flex-basis:18px;font-size:21px}.living-short-label{display:inline}.living-long-label,.living-tab-description{display:none}
 .living-gallery{position:static;min-width:0}.living-carousel .compact-living-photo{position:relative;inset:auto;height:230px;border-radius:55px 55px 8px 8px}
 .living-carousel .compact-living-photo figcaption{font-size:12px;padding:26px 12px 12px}
 .living-detail{display:block;min-height:104px;padding:14px 2px 0}.living-detail h3{font-size:18px;line-height:1.4;margin:0 0 6px}.living-detail p{font-size:15px;line-height:1.6;color:#647354;margin:0}
 .combined-plans .plan-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;overflow:visible;padding:0;margin:0;align-items:start}
 .combined-plans .plan-card{min-width:0;padding:0;border-radius:14px;overflow:hidden;opacity:1!important;visibility:visible!important;transform:none!important;translate:none!important;box-shadow:none}
 .combined-plans .plan-card>.plan-top,.combined-plans .plan-card>h3{display:none}
 .combined-plans .plan-mobile-toggle{display:grid;grid-template-columns:44px minmax(0,1fr) 20px;gap:12px;align-items:center;width:100%;min-height:96px;padding:16px;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}
 .plan-mobile-code{display:grid;place-items:center;width:44px;height:44px;background:#edf4dc;border:1px solid #d8e5c5;border-radius:10px;color:#39791b;font-size:18px;font-weight:650}
 .featured .plan-mobile-code{background:#ffffff15;border-color:#ffffff40;color:#efffb0}
 .plan-mobile-copy{min-width:0}.plan-mobile-copy strong{display:block;font-size:17px;font-weight:650;line-height:1.4;letter-spacing:-.2px}.plan-mobile-copy small{display:block;font-size:12px;line-height:1.5;margin-top:3px;color:#647354}.featured .plan-mobile-copy small{color:#e0edcd}
 .plan-chevron{width:20px;height:20px;transition:transform .2s}.plan-mobile-toggle[aria-expanded=true] .plan-chevron{transform:rotate(180deg)}
 .combined-plans .plan-details{display:none;padding:0 18px 18px}.combined-plans .is-expanded .plan-details{display:flex}
 .combined-plans .plan-details>p{font-size:15px;line-height:1.6;margin:0 0 14px}
 .combined-plans .plan-payments{padding-block:12px;flex:none}.plan-payments-label{font-size:13px;margin-bottom:9px}.plan-payment+.plan-payment{margin-top:12px}.plan-payment>span{font-size:13px}
 .combined-plans .plan-card ul{font-size:13px;line-height:1.6;margin:14px 0;flex:none}.combined-plans .plan-payment strong{font-size:29px}.combined-plans .plan-payment small{font-size:13px}.combined-plans .plan-card .button{min-height:44px;padding:12px;font-size:15px}
 .plan-mobile-limit{display:block;align-self:flex-start;border:1px solid #ffffff40;border-radius:5px;padding:4px 8px;margin-bottom:12px;font-size:12px;line-height:1.5;color:#efffb0}
 .plan-expand-hint{display:block;font-size:13px;color:#647354;margin:18px 0 12px}
 .payment-table-scroll,.payment-table-scroll:has(.exact){overflow:visible;border-radius:0}
 .payment-table-scroll:after,.payment-table-scroll:has(.exact):after{display:none}
 .payment-table,.payment-table.exact{display:block;min-width:0;width:100%;border:0;background:transparent;border-radius:0}
 .payment-table thead{display:none}.payment-table tbody,.payment-table tfoot{display:block;width:100%}
 .payment-table tbody tr,.payment-table tfoot tr{display:block;border:1px solid #dce5cb;border-radius:10px;margin:0 0 10px;overflow:hidden;background:#fff}
 .payment-table tbody th,.payment-table tfoot th{display:block;width:auto!important;padding:11px 12px!important;background:#eff5e1;border-bottom:1px solid #dce5cb;font-size:15px!important}
 .payment-table small{font-size:12px;line-height:1.4}
 .payment-table tbody td,.payment-table.exact tbody td,.payment-table tfoot td,.payment-table.exact tfoot td{display:grid;grid-template-columns:minmax(95px,1fr) auto;gap:12px;align-items:baseline;width:auto;padding:8px 12px;font-size:15px!important;border:0;white-space:normal;background:#fff}
 .payment-table td:before{content:attr(data-label);font-size:13px;line-height:1.5;text-align:left;font-weight:400;color:#617153}
 .payment-table td .payment-value{white-space:nowrap}.payment-table td .amount-unit{display:inline;font-size:11px;margin-left:4px}
 .payment-table tbody td.zero-payment,.payment-table tfoot td.advance-total{display:none}
 .payment-table tbody td:nth-child(2){background:#f8fbef}
 .finance-columns{gap:24px}.payment-schedule .panel-heading p{font-size:14px;line-height:1.6}.payment-schedule .table-toolbar{flex-wrap:wrap}.finance-workbench .capital-calculator{padding:16px;border-width:1px}
}
@media(prefers-reduced-motion:reduce){.living-selector button,.living-tab-icon{transition:none}.living-selector button:hover .living-tab-icon{transform:none}}
.banks .bank-grid{justify-content:space-around}

@media(max-width:360px){.combined-plans .plan-mobile-toggle{gap:9px;padding:14px 12px;grid-template-columns:40px minmax(0,1fr) 18px}.plan-mobile-code{width:40px;height:40px;font-size:17px}.plan-mobile-copy strong{font-size:16px}.plan-mobile-copy small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.plan-chevron{transition:none}}
