.toc-box{background:var(--forest-pale);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:20px 24px;margin-bottom:36px}.toc-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-light);margin-bottom:12px}.toc-list{padding-left:1.25rem;margin:0}.toc-list li{margin-bottom:6px;font-size:14px}.toc-list a{color:var(--forest);text-decoration:none}.toc-list a:hover{text-decoration:underline}.challenge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:20px 0 32px}.challenge-card{background:var(--forest-pale);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:20px}.challenge-icon{font-size:28px;margin-bottom:10px}.challenge-title{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:8px}.challenge-card p{font-size:13px;color:var(--ink-mid);line-height:1.6;margin:0}.callout{border-radius:var(--radius-lg);padding:20px 24px;margin:24px 0}.callout-forest{background:var(--forest-light);border:1.5px solid var(--border)}.callout-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:14px;text-transform:uppercase;letter-spacing:.06em}.callout p{font-size:15px;color:var(--ink-mid);line-height:1.7;margin:0}.income-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.income-col{background:#fff;border-radius:var(--radius-md);padding:14px 16px}.income-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}.income-yes .income-label{color:var(--forest)}.income-no .income-label{color:var(--coral-dark)}.income-col ul{padding-left:1.25rem;margin:0}.income-col li{font-size:14px;color:var(--ink-mid);line-height:1.6;margin-bottom:4px}.tip-box{background:#fff8e6;border:1.5px solid #F5DFA0;border-radius:var(--radius-md);padding:16px 20px;margin:20px 0}.tip-title{font-size:14px;font-weight:700;color:#7a5c00;margin-bottom:8px}.tip-box p{font-size:14px;color:#5c4300;line-height:1.65;margin:0}.tip-box p+p{margin-top:8px}.tip-box strong{color:#5c4300;font-weight:700}.method-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:20px 0 32px}.method-card{background:#fff;border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:20px}.method-winner{border-color:var(--forest);background:var(--forest-pale)}.method-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff;background:var(--forest);padding:3px 8px;border-radius:4px;display:inline-block;margin-bottom:10px}.method-name{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:10px}.method-card p{font-size:14px;color:var(--ink-mid);line-height:1.65;margin-bottom:10px}.method-best{font-size:12px;color:var(--ink-light);font-style:italic;border-top:1px solid var(--border);padding-top:10px}.budget-categories{display:grid;gap:12px;margin:20px 0 32px}.budget-group{background:#fff;border:1.5px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.budget-group-title{background:var(--forest-pale);padding:12px 16px;font-size:13px;font-weight:700;color:var(--ink);border-bottom:1px solid var(--border)}.budget-items{padding:4px 16px 8px}.budget-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);font-size:14px;color:var(--ink-mid)}.budget-item:last-child{border-bottom:none}.pct{font-size:12px;font-weight:600;color:var(--forest);background:var(--forest-light);padding:2px 8px;border-radius:4px}.gap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:20px 0 24px}.gap-card{background:var(--coral-light);border:1.5px solid #F5C4B5;border-radius:var(--radius-lg);padding:18px}.gap-title{font-size:14px;font-weight:700;color:var(--coral-dark);margin-bottom:8px}.gap-card p{font-size:13px;color:var(--ink-mid);line-height:1.6;margin:0}.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:20px 0 32px}.tool-card{background:var(--forest-pale);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:20px}.tool-name{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:6px}.tool-tag{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--forest);margin-bottom:10px}.tool-card p{font-size:14px;color:var(--ink-mid);line-height:1.6;margin-bottom:10px}.tool-best{font-size:12px;color:var(--ink-light);font-style:italic;border-top:1px solid var(--border);padding-top:10px}.tool-best a{color:var(--forest);font-weight:600;font-style:normal}.cta-box{background:var(--forest);border-radius:var(--radius-lg);padding:28px;margin:32px 0;text-align:center}.cta-box h3,.prose .cta-box h3{color:#fff!important;font-size:1.2rem;margin-bottom:8px}.cta-box p,.prose .cta-box p{color:#ffffffd9!important;font-size:15px;margin-bottom:20px}.faq-section{margin-top:8px}.faq-item{border-bottom:1px solid var(--border);padding:16px 0}.faq-item:last-child{border-bottom:none}.faq-q{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:8px}.faq-a p{font-size:14px;color:var(--ink-mid);line-height:1.7;margin:0}.related-tools{background:var(--forest-pale);border-radius:var(--radius-lg);padding:24px;margin-top:40px}.related-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-light);margin-bottom:16px}.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.related-card{background:#fff;border:1.5px solid var(--border);border-radius:var(--radius-md);padding:16px;text-decoration:none;display:block;transition:border-color .2s}.related-card:hover{border-color:var(--forest-mid)}.related-emoji{font-size:22px;margin-bottom:8px}.related-name{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:4px}.related-desc{font-size:12px;color:var(--ink-mid);line-height:1.5}.prose h2{font-family:var(--font-display);font-size:1.5rem;color:var(--ink);margin:36px 0 14px}.prose h3{font-size:1.15rem;font-weight:700;color:var(--ink);margin:8px 0 16px}.prose p{font-size:16px;color:var(--ink-mid);line-height:1.75;margin-bottom:16px}.prose ul,.prose ol{padding-left:1.5rem;margin-bottom:16px}.prose li{font-size:15px;color:var(--ink-mid);line-height:1.7;margin-bottom:6px}.prose a{color:var(--forest)}.prose strong{color:var(--ink);font-weight:600}@media (max-width: 600px){.challenge-grid,.income-grid,.method-grid,.gap-grid,.tools-grid{grid-template-columns:1fr}}
