
.budget-promo{margin:0 8% 90px;padding:45px 5%;border:1px solid var(--line);display:flex;gap:40px;align-items:center;justify-content:space-between;background:#eeeee6}.budget-promo h2{font-size:clamp(30px,3vw,44px);max-width:620px}.budget-promo p:not(.eyebrow){max-width:600px;color:var(--muted);font-size:14px}.budget-promo .button{flex-shrink:0;background:var(--olive);color:white}.budget-hero{padding:85px 9% 40px;background:#eeeee6}.budget-hero h1{font-size:clamp(46px,6vw,80px);max-width:1000px;line-height:1.05}.budget-hero>.text-link{display:inline-block;margin-bottom:35px}.budget-intro{font-size:15px;line-height:1.9;max-width:780px;color:var(--muted);margin-bottom:28px}.budget-toc{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:50px;padding-top:25px;border-top:1px solid var(--line);font-size:12px}.budget-toc a{padding:8px 0}.budget-content{padding:25px 7% 85px;max-width:1500px;margin:auto}.budget-note{padding:25px 30px;border:1px solid var(--line);margin-bottom:65px;max-width:1100px}.budget-note p{font-size:13px;margin-bottom:12px}.budget-note p:last-child{margin:0;color:var(--muted);font-size:11px}.budget-group{scroll-margin-top:35px;margin-bottom:75px}.budget-group h2{font-size:clamp(32px,3.8vw,54px);max-width:950px}.budget-table-wrap{overflow:auto}.budget-table{border-collapse:collapse;width:100%;text-align:left;min-width:780px;font-size:13px}.budget-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.budget-table th,.budget-table td{padding:22px 18px;border-bottom:1px solid var(--line);vertical-align:top;max-width:310px}.budget-table thead th{font-size:10px;text-transform:uppercase;letter-spacing:.1em;background:#ecece3}.budget-table tbody th{font-weight:500;width:25%}.budget-table tbody a{text-decoration:underline;text-underline-offset:4px}.budget-table small{display:block;color:var(--muted);font-weight:400;font-size:11px;margin-top:8px;line-height:1.65}.budget-advice{padding:40px;background:#ecece3;max-width:1000px}.budget-advice h2{font-size:42px}.budget-advice>p:not(.eyebrow){max-width:750px}.budget-advice .button{background:var(--olive);color:white}@media(max-width:700px){.budget-promo{margin:0 6% 65px;padding:30px 24px;flex-direction:column;align-items:flex-start;gap:20px}.budget-hero{padding:55px 7% 30px}.budget-hero h1{font-size:44px}.budget-content{padding:20px 6% 50px}.budget-note{padding:22px;margin-bottom:40px}.budget-group{margin-bottom:45px}.budget-advice{padding:25px}.budget-advice h2{font-size:34px}.budget-table th,.budget-table td{padding:18px 14px}}
