.tool-resource-card{position:relative}
.resource-tool-toggle{appearance:none;margin-top:16px;padding:0 0 7px;border:0;border-bottom:1px solid #777;background:transparent;color:var(--white);font:500 13px/1.4 'DM Sans',sans-serif;cursor:pointer}
.resource-tool-toggle:hover,.resource-tool-toggle:focus{color:var(--gold);border-color:var(--gold)}
.family-tool{margin-top:18px;padding:clamp(30px,4vw,58px);background:#f1ede5;color:var(--ink);border-top:5px solid var(--gold);scroll-margin-top:105px}
.family-tool-heading{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end;padding-bottom:34px;border-bottom:1px solid var(--line)}
.family-tool-heading h3{margin:0;font:400 clamp(30px,3.7vw,54px)/1.05 var(--symbol-font);letter-spacing:-.05em}
.family-tool-heading>p{max-width:590px;margin:0;color:#555}
.tool-income{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:32px}
.tool-income label,.extra-payment label{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;background:var(--white);font-weight:600}
.tool-income label span,.extra-payment label span{display:flex;align-items:center;gap:6px;color:#777}
.tool-income input,.extra-payment input{width:180px;border:0;border-bottom:1px solid #999;background:transparent;padding:7px;color:var(--ink);font:500 25px/1 var(--symbol-font);text-align:right}
.tool-balance{padding:24px;background:var(--ink);color:var(--white)}
.tool-balance small,.tool-balance strong,.tool-balance span{display:block}
.tool-balance small,.tool-summary small{font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.tool-balance strong{margin:8px 0;color:var(--gold);font:500 clamp(30px,3vw,46px)/1 var(--symbol-font)}
.tool-balance span{color:#aaa;font-size:13px}
.tool-balance.over strong{color:#ef755e}
.cashflow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:28px;background:#d0c9bd;border:1px solid #d0c9bd}
.cashflow-grid label{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:72px;padding:15px 17px;background:var(--white);font-size:13px}
.cashflow-grid input{width:105px;padding:9px;border:1px solid #cbc5bb;background:#f8f5ee;color:var(--ink);font:inherit;text-align:right}
.tool-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:28px;background:#464646;color:var(--white)}
.tool-summary>div{padding:24px;background:var(--ink)}
.tool-summary small,.tool-summary strong{display:block}
.tool-summary small{color:#999}
.tool-summary strong{margin-top:10px;color:var(--gold);font:500 clamp(23px,2.5vw,38px)/1 var(--symbol-font)}
.tool-footer{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-top:27px;padding-top:24px;border-top:1px solid var(--line)}
.tool-footer p{max-width:760px;margin:0;color:#666;font-size:12px;line-height:1.55}
.tool-footer>div{display:flex;gap:8px;flex:0 0 auto}
.tool-secondary{appearance:none;padding:10px 12px;border:1px solid #777;background:transparent;color:var(--ink);font:500 10px/1.3 var(--symbol-font);cursor:pointer}
.tool-secondary:hover,.tool-secondary:focus{background:var(--ink);color:var(--white)}
.debt-table{margin-top:30px;border:1px solid #cfc8bc;background:#cfc8bc}
.debt-table-head,.debt-row{display:grid;grid-template-columns:1.3fr 1fr .7fr 1fr;gap:1px}
.debt-table-head span{padding:10px 14px;background:#d9e2df;color:#486b68;font:500 9px/1.3 var(--symbol-font);letter-spacing:.09em;text-transform:uppercase}
.debt-row input{min-width:0;padding:14px;border:0;border-top:1px solid #ded8cd;background:var(--white);color:var(--ink);font:inherit}
.debt-row input+input{border-left:1px solid #ded8cd;text-align:right}
.extra-payment{margin-top:22px}
.debt-summary{margin-top:22px}
.snowball-plan{display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw;margin-top:28px;padding:32px;background:#d9e2df}
.snowball-plan h4{margin:0 0 10px;font:400 clamp(22px,2.3vw,34px)/1.2 var(--symbol-font);letter-spacing:-.04em}
.snowball-plan p:last-child{margin-bottom:0;color:#52615f}
.snowball-plan ol{margin:0;padding:0;list-style:none;counter-reset:snowball}
.snowball-plan li{counter-increment:snowball;display:grid;grid-template-columns:34px 1fr auto;gap:12px;padding:13px 0;border-bottom:1px solid #aebdb9;align-items:center}
.snowball-plan li:before{content:counter(snowball,decimal-leading-zero);color:var(--copper);font:500 10px var(--symbol-font)}
.snowball-plan li strong{font-size:14px}
.snowball-plan li span{color:#52615f;font-size:13px}
.planner-input-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:30px;background:#d0c9bd;border:1px solid #d0c9bd}
.planner-input-grid label{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;background:var(--white);font-weight:600}
.planner-input-grid label span{display:flex;align-items:center;gap:6px;color:#777}
.planner-input-grid input{width:130px;padding:9px;border:1px solid #cbc5bb;background:#f8f5ee;color:var(--ink);font:500 18px/1 var(--symbol-font);text-align:right}
.planning-guidance{margin-top:28px;padding:28px;background:#d9e2df}
.planning-guidance h4{margin:0 0 8px;font:400 clamp(22px,2.3vw,34px)/1.2 var(--symbol-font);letter-spacing:-.04em}
.planning-guidance p:last-child{margin:0;color:#52615f}
.capital-start label{background:var(--white)}
.capital-start{grid-template-columns:1fr}
.capital-allocation-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-top:28px}
.capital-allocation-intro p{margin:0}.capital-allocation-intro p:last-child{max-width:670px;color:#666;font-size:14px}
.wealth-composition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:20px;background:#d0c9bd;border:1px solid #d0c9bd}
.wealth-composition-grid label{display:flex;min-width:0;flex-direction:column;gap:18px;padding:20px;background:var(--white)}
.wealth-composition-grid label>span:first-child,.wealth-composition-grid small{display:block}
.wealth-composition-grid small{margin-top:5px;color:#777;font-size:11px;font-weight:400;line-height:1.45}
.wealth-composition-grid label>span:last-child{display:flex;align-items:center;gap:6px;color:#777}
.wealth-composition-grid input{box-sizing:border-box;width:100%;min-width:0;padding:10px;border:1px solid #cbc5bb;background:#f8f5ee;color:var(--ink);font:inherit;text-align:right}
.wealth-composition-summary{display:flex;justify-content:space-between;gap:25px;padding:14px 18px;background:#d9e2df;color:#52615f;font-size:12px}
.wealth-composition-summary strong{margin-left:8px;color:var(--ink);font-weight:600}
.capital-allocation-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;margin-top:28px;background:#d0c9bd;border:1px solid #d0c9bd}
.capital-allocation-grid label{display:flex;min-width:0;flex-direction:column;gap:18px;padding:20px;background:var(--white)}
.capital-allocation-grid label span,.capital-allocation-grid strong,.capital-allocation-grid small{display:block}
.capital-allocation-grid small{min-height:34px;margin-top:5px;color:#777;font-size:11px;line-height:1.45}
.capital-allocation-grid input{box-sizing:border-box;width:100%;padding:10px;border:1px solid #cbc5bb;background:#f8f5ee;color:var(--ink);font:inherit;text-align:right}
.legacy-review{display:grid;grid-template-columns:.7fr 1.3fr;gap:5vw;margin-top:28px;padding:28px;background:var(--white);border:1px solid #d0c9bd}
.legacy-review h4{margin:0;font:400 clamp(20px,2.1vw,30px)/1.2 var(--symbol-font)}
.legacy-review>div:first-child>p:last-child{margin:10px 0 0;color:#666;font-size:13px}
.legacy-review label{display:flex;gap:10px;margin:0 0 13px;color:#555;font-size:14px;line-height:1.45}
.legacy-review input{margin-top:3px}
.capital-recommendations{display:grid;grid-template-columns:.75fr 1.25fr;gap:5vw;margin-top:28px;padding:30px;background:#d9e2df}
.capital-recommendations h4{margin:0;font:400 clamp(22px,2.3vw,34px)/1.2 var(--symbol-font);letter-spacing:-.04em}
.capital-recommendations p:last-child{margin:8px 0 0;color:#52615f}
.capital-recommendations ol{margin:0;padding-left:22px}.capital-recommendations li{padding:0 0 12px 7px;color:#354744;font-size:14px;line-height:1.5}
@media(max-width:900px){.family-tool-heading,.tool-income,.snowball-plan,.legacy-review,.capital-recommendations{grid-template-columns:1fr}.cashflow-grid,.planner-input-grid{grid-template-columns:1fr 1fr}.wealth-composition-grid,.capital-allocation-grid{grid-template-columns:repeat(2,1fr)}.capital-allocation-intro{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:560px){.family-tool{padding:25px}.cashflow-grid,.tool-summary,.planner-input-grid,.wealth-composition-grid,.capital-allocation-grid{grid-template-columns:1fr}.wealth-composition-summary{align-items:flex-start;flex-direction:column;gap:6px}.tool-income label,.extra-payment label,.planner-input-grid label{align-items:flex-start;flex-direction:column}.tool-income input,.extra-payment input,.planner-input-grid input{width:100%}.debt-table-head{display:none}.debt-row{grid-template-columns:1fr 1fr}.debt-row input{border:1px solid #ded8cd!important}.tool-footer{align-items:flex-start;flex-direction:column}.tool-footer>div{flex-wrap:wrap}.snowball-plan li{grid-template-columns:28px 1fr}.snowball-plan li span{grid-column:2}.capital-allocation-grid small{min-height:0}}
