:root{--afford-navy:#10263f;--afford-blue:#1d467d;--afford-gold:#c4a963;--afford-cream:#f5f1e8;--afford-ink:#17263a;--afford-muted:#5b697a;--afford-line:#d7dee6}
.affordability-page{background:#fff;color:var(--afford-ink)}
.affordability-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
.affordability-hero{position:relative;overflow:hidden;padding:68px 0 76px;background:linear-gradient(118deg,rgba(12,29,49,.985) 0%,rgba(20,55,91,.96) 58%,rgba(29,70,125,.89) 100%),url('/assets/waco-sunset-river.jpg') center/cover;color:#fff}
.affordability-hero:after{content:"";position:absolute;right:-180px;bottom:-260px;width:620px;height:620px;border:1px solid rgba(196,169,99,.2);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.018),0 0 0 160px rgba(255,255,255,.012);pointer-events:none}
.affordability-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(470px,1.1fr);gap:72px;align-items:center}
.affordability-intro h1{max-width:650px;margin:0 0 22px;color:#fff;font:700 clamp(3.2rem,6vw,5.7rem)/.96 Georgia,serif;letter-spacing:-.045em}
.affordability-intro>p:not(.info-eyebrow){max-width:620px;margin:0;color:#dfe8f1;font-size:1.18rem;line-height:1.7}
.affordability-intro ul{display:grid;gap:12px;margin:32px 0 0;padding:0;list-style:none;color:#fff;font-weight:700}
.affordability-intro li{display:flex;align-items:center;gap:12px}.affordability-intro li:before{content:"✓";display:grid;width:26px;height:26px;place-items:center;border:1px solid var(--afford-gold);color:#ead9a9;font-size:.82rem}
.affordability-form{padding:34px 38px 30px;background:#fff;color:var(--afford-ink);border-top:5px solid var(--afford-gold);box-shadow:0 28px 70px rgba(4,16,29,.28)}
.affordability-form-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px;padding-bottom:18px;border-bottom:1px solid var(--afford-line)}
.affordability-form-heading span{color:#8a743a;font-size:.72rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.affordability-form-heading strong{color:var(--afford-navy);font-size:.96rem}
.affordability-field{display:block;margin:0 0 22px}.affordability-field>span:first-child{display:block;margin-bottom:9px;color:var(--afford-navy);font-size:.94rem;font-weight:800}.affordability-field small{display:block;margin-top:8px;color:#697789;font-size:.78rem;line-height:1.45}
.affordability-field select,.affordability-money-input{width:100%;min-height:55px;border:1px solid #aeb9c5;background:#fff;color:var(--afford-ink);font:inherit;transition:border-color .16s,box-shadow .16s}
.affordability-field select{padding:0 16px;cursor:pointer}.affordability-field select:disabled{cursor:wait;color:#768292;background:#f5f7f9}
.affordability-money-input{display:grid;grid-template-columns:42px 1fr;align-items:center}.affordability-money-input b{display:grid;align-self:stretch;place-items:center;background:#f1f4f7;color:var(--afford-blue);font-size:1.05rem}.affordability-money-input input{min-width:0;height:53px;padding:0 14px;border:0;outline:0;color:var(--afford-ink);font:700 1.05rem Arial,sans-serif}
.affordability-field select:focus,.affordability-money-input:focus-within{border-color:var(--afford-blue);box-shadow:0 0 0 3px rgba(29,70,125,.14);outline:0}
.affordability-more{margin:2px 0 23px;border-top:1px solid var(--afford-line);border-bottom:1px solid var(--afford-line)}.affordability-more summary{display:flex;align-items:center;justify-content:space-between;padding:17px 2px;color:var(--afford-blue);font-weight:900;cursor:pointer;list-style:none}.affordability-more summary::-webkit-details-marker{display:none}.affordability-more summary span{display:inline-block;font-size:1.3rem}.affordability-more[open] summary span{transform:rotate(45deg)}
.affordability-more-fields{padding:4px 0 6px}.affordability-more-fields .affordability-field{margin-bottom:17px}.affordability-more-fields .affordability-field>span:first-child{font-size:.82rem}.affordability-more-fields .affordability-money-input,.affordability-more-fields .affordability-field select{min-height:49px}.affordability-more-fields .affordability-money-input input{height:47px;font-size:.94rem}
.affordability-ratio{display:block;margin:6px 0 15px;color:var(--afford-navy);font-size:.84rem;font-weight:800}.affordability-ratio>span:first-child{display:flex;justify-content:space-between}.affordability-ratio output{color:var(--afford-blue);font-size:1rem}.affordability-ratio input{width:100%;margin:13px 0 5px;accent-color:var(--afford-blue)}.affordability-scale{display:flex;justify-content:space-between;color:#7b8796;font-size:.72rem}.affordability-scale i{font-style:normal}
.affordability-submit{display:flex;width:100%;min-height:56px;align-items:center;justify-content:center;gap:12px;border:0;background:var(--afford-gold);color:var(--afford-navy);font:900 .95rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.045em;cursor:pointer;transition:background .16s,transform .16s}.affordability-submit:hover{background:#d5bb75;transform:translateY(-1px)}.affordability-submit:focus-visible{outline:3px solid rgba(29,70,125,.35);outline-offset:3px}.affordability-disclaimer{margin:15px 0 0;color:#74808e;font-size:.72rem;line-height:1.5;text-align:center}.affordability-error{margin:0 0 16px;padding:12px 14px;border-left:3px solid #b14335;background:#fff1ee;color:#7c2a20;font-size:.86rem;line-height:1.45}
.affordability-results{padding:76px 0 86px;background:var(--afford-cream);border-bottom:1px solid #e5dfd2}.affordability-results-heading,.affordability-match-heading{display:flex;align-items:end;justify-content:space-between;gap:28px}.affordability-results-heading h2,.affordability-match-heading h2{margin:0;color:var(--afford-navy);font:700 clamp(2.2rem,4.4vw,3.7rem)/1.04 Georgia,serif;letter-spacing:-.025em}.affordability-results-heading button,.affordability-match-heading a{flex:0 0 auto;padding:12px 16px;border:1px solid var(--afford-blue);background:transparent;color:var(--afford-blue);font-weight:900;text-decoration:none;cursor:pointer}
.affordability-summary{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr;margin:38px 0 0;background:#fff;border-top:5px solid var(--afford-gold);box-shadow:0 12px 30px rgba(16,38,63,.08)}.affordability-summary article{min-width:0;padding:27px 25px;border-right:1px solid var(--afford-line)}.affordability-summary article:last-child{border-right:0}.affordability-summary span{display:block;margin-bottom:7px;color:#6b7786;font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.affordability-summary strong{display:block;color:var(--afford-navy);font:700 clamp(1.45rem,3vw,2.35rem)/1 Georgia,serif}.affordability-summary article:first-child strong{color:var(--afford-blue);font-size:clamp(2rem,4vw,3.15rem)}
.affordability-explanation{margin:20px 0 64px;padding:23px 26px;background:#e9eef3;border-left:4px solid var(--afford-blue);color:#45576b;line-height:1.65}.affordability-explanation strong{color:var(--afford-navy)}
.affordability-match-heading{margin-bottom:24px}.affordability-match-heading h2{font-size:clamp(2rem,4vw,3.15rem)}.affordability-listing-status{margin:0 0 20px;color:var(--afford-muted);line-height:1.6}.affordability-listing-status[aria-busy="true"]{padding:22px;background:#fff;border-left:4px solid var(--afford-gold)}
.affordability-listings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.affordability-rental{display:flex;min-width:0;flex-direction:column;background:#fff;border-top:4px solid var(--afford-gold);box-shadow:0 12px 30px rgba(16,38,63,.08)}.affordability-rental-media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#dfe5eb}.affordability-rental-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.affordability-rental:hover img{transform:scale(1.035)}.affordability-rental-badge{position:absolute;left:14px;top:14px;padding:7px 9px;background:rgba(16,38,63,.92);color:#fff;font-size:.64rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.affordability-rental-body{display:flex;flex:1;flex-direction:column;padding:22px}.affordability-rental-price{color:var(--afford-blue);font:700 2rem/1 Georgia,serif}.affordability-rental-price small{font:700 .75rem Arial,sans-serif}.affordability-rental h3{margin:16px 0 5px;color:var(--afford-navy);font-size:1.08rem}.affordability-rental-address{margin:0;color:#667486;font-size:.83rem;line-height:1.45}.affordability-rental-facts{display:flex;gap:14px;margin:17px 0 20px;padding:13px 0;border-top:1px solid var(--afford-line);border-bottom:1px solid var(--afford-line);color:#45576b;font-size:.78rem}.affordability-rental-actions{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:auto}.affordability-rental-actions a{display:grid;min-height:43px;place-items:center;padding:10px 12px;border:1px solid var(--afford-blue);color:var(--afford-blue);font-size:.75rem;font-weight:900;text-decoration:none;text-transform:uppercase}.affordability-rental-actions a:first-child{background:var(--afford-blue);color:#fff}
.affordability-empty{grid-column:1/-1;padding:36px;background:#fff;border-top:4px solid var(--afford-gold)}.affordability-empty h3{margin:0 0 10px;color:var(--afford-navy);font:700 1.7rem Georgia,serif}.affordability-empty p{margin:0 0 20px;color:var(--afford-muted);line-height:1.6}.affordability-empty a{display:inline-flex;padding:13px 18px;background:var(--afford-blue);color:#fff;font-weight:900;text-decoration:none}
.affordability-guide{background:#fff}.affordability-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:40px 0}.affordability-guide-grid article{padding:28px 26px;border:1px solid var(--afford-line);border-top:4px solid var(--afford-gold)}.affordability-guide-grid article>span{color:#9b8241;font-size:.72rem;font-weight:900;letter-spacing:.13em}.affordability-guide-grid h3{margin:18px 0 10px;color:var(--afford-navy);font-size:1.18rem}.affordability-guide-grid p{margin:0;color:var(--afford-muted);line-height:1.65}.affordability-note{display:grid;grid-template-columns:170px 1fr;gap:26px;padding:28px 30px;background:var(--afford-navy);color:#fff}.affordability-note strong{color:#e0ca8c;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.affordability-note p{margin:0;color:#dbe4ec;line-height:1.65}
.affordability-faq-section .info-faq{margin-top:34px}
.resident-affordability-callout{padding:58px 0;background:#f7f3e9}.resident-affordability-callout .info-shell{display:grid;grid-template-columns:1fr auto;gap:45px;align-items:center}.resident-affordability-callout h2{margin-bottom:10px}.resident-affordability-callout p:not(.info-eyebrow){max-width:760px;margin:0;color:#526174;line-height:1.7}
@media(max-width:940px){.affordability-hero-grid{grid-template-columns:1fr;gap:42px}.affordability-intro{max-width:720px}.affordability-form{max-width:720px}.affordability-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.affordability-summary article:nth-child(2){border-right:0}.affordability-summary article:nth-child(-n+2){border-bottom:1px solid var(--afford-line)}.affordability-listings{grid-template-columns:repeat(2,minmax(0,1fr))}.resident-affordability-callout .info-shell{grid-template-columns:1fr}.resident-affordability-callout .info-button{justify-self:start}}
@media(max-width:650px){.affordability-shell{width:calc(100% - 28px)}.affordability-hero{padding:48px 0 56px}.affordability-intro h1{font-size:clamp(2.8rem,15vw,4.2rem)}.affordability-intro>p:not(.info-eyebrow){font-size:1rem}.affordability-form{padding:26px 20px 23px}.affordability-form-heading{align-items:start;flex-direction:column;gap:6px}.affordability-results{padding:58px 0}.affordability-results-heading,.affordability-match-heading{align-items:start;flex-direction:column}.affordability-summary{grid-template-columns:1fr 1fr}.affordability-summary article{padding:21px 17px}.affordability-summary strong{font-size:1.25rem}.affordability-listings,.affordability-guide-grid{grid-template-columns:1fr}.affordability-note{grid-template-columns:1fr;gap:12px}.affordability-rental-actions{grid-template-columns:1fr}.resident-affordability-callout{padding:45px 0}}
@media(prefers-reduced-motion:reduce){.affordability-submit,.affordability-rental-media img{transition:none}}
