.budget-table{width:100%;border-collapse:collapse;margin-top:var(--space-4);font-size:var(--text-sm);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden}.budget-table th,.budget-table td{padding:var(--space-3) var(--space-5);text-align:left;border-bottom:1px solid var(--color-border-light);vertical-align:top}.budget-table tr:last-child th,.budget-table tr:last-child td{border-bottom:none}.budget-table th{font-family:var(--font-sans);font-weight:700;font-size:.8125rem;background:var(--color-bg-alt);color:var(--color-text-muted)}.budget-table td{font-family:var(--font-sans);color:var(--color-text);background:#fff;font-weight:500}.budget-table tr:hover td{background:var(--color-primary-50)}.total-row td{background:var(--color-primary-100)!important;font-weight:700;color:var(--color-primary-dark);border-top:2px solid var(--color-border)}.checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.checklist li{position:relative;padding:var(--space-3) var(--space-4) var(--space-3) calc(var(--space-4) + 1.5rem);background:#fff;border:1px solid var(--color-border);border-left:3px solid var(--color-primary);border-radius:0 var(--radius-lg) var(--radius-lg) 0;font-family:var(--font-sans);font-size:var(--text-sm);line-height:1.6;color:var(--color-text);margin-bottom:0;transition:background var(--transition-fast),border-left-color var(--transition-fast)}.checklist li:before{content:"";position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);width:1rem;height:1rem;border:2px solid var(--color-primary-light);border-radius:50%;background:var(--color-primary-50);flex-shrink:0}.checklist li:hover{background:var(--color-primary-50);border-left-color:var(--color-primary-dark)}.prose a.affil-link{color:var(--color-accent-light);text-decoration-color:#d9770666;font-weight:600}.prose a.affil-link:after{content:" ↗";font-size:.75em;opacity:.7;font-style:normal}.prose a.affil-link:hover{color:#b45309;text-decoration-color:#b45309}.art-hero[data-astro-cid-2u677oxp]{padding-block:var(--space-10) var(--space-12);max-width:72ch}.art-hero-top[data-astro-cid-2u677oxp]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-6)}.art-back[data-astro-cid-2u677oxp]{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}.art-back[data-astro-cid-2u677oxp]:hover{color:var(--color-primary-dark);text-decoration:none}.art-back[data-astro-cid-2u677oxp]:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:4px}.art-badges[data-astro-cid-2u677oxp]{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.art-badge[data-astro-cid-2u677oxp]{display:inline-flex;align-items:center;padding:.25rem var(--space-3);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-full)}.art-readtime[data-astro-cid-2u677oxp]{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted)}.art-title[data-astro-cid-2u677oxp]{font-family:var(--font-serif);font-size:clamp(1.875rem,4vw,3rem);font-weight:700;letter-spacing:-.025em;line-height:1.1;color:var(--color-text);margin-bottom:var(--space-4)}.art-desc[data-astro-cid-2u677oxp]{font-family:var(--font-sans);font-size:var(--text-lg);color:var(--color-text-muted);line-height:1.7;margin-bottom:var(--space-5)}.art-intro[data-astro-cid-2u677oxp]{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.8;color:var(--color-text-muted);background:var(--color-bg-alt);border-left:3px solid var(--color-primary);border-radius:0 var(--radius-lg) var(--radius-lg) 0;padding:var(--space-4) var(--space-6);margin-top:var(--space-2);margin-bottom:0}@media (max-width: 640px){.art-hero-top[data-astro-cid-2u677oxp]{flex-direction:column;align-items:flex-start}}
