.budget-page,.budget-paths{--budget-ink:#1b1b17;--budget-muted:#535349;--budget-paper:#fffdf7;--budget-line:#d8d6bf;color:var(--budget-ink)}
.budget-page h1{font-size:clamp(30px,4.3vw,50px);line-height:1.18;max-width:24ch;margin:18px 0 20px}
.budget-intro{max-width:76ch;font-size:18px;line-height:1.65;color:var(--budget-muted)}
.budget-terms{padding:16px 20px;margin:22px 0;border:1px solid #d7bd8c;border-radius:14px;background:#fff4dc;line-height:1.65;font-size:16px}
.budget-terms strong{display:block;color:#3b301e}.budget-terms a{color:#713c17;text-decoration:underline;text-underline-offset:3px}
.budget-paths{margin:28px 0;padding:22px;border:1px solid var(--budget-line);border-radius:18px;background:var(--budget-paper)}
.budget-paths h2,.budget-paths h3{font-size:clamp(21px,2.4vw,28px);line-height:1.3;margin:0 0 12px}
.budget-paths p{line-height:1.6;color:var(--budget-muted);margin:8px 0 16px}
.budget-steps{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px}
.budget-steps a{box-sizing:border-box;min-height:48px;padding:11px 8px;display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid #c7c4ad;border-radius:10px;text-decoration:none;color:var(--budget-ink);font-weight:700;line-height:1.3;background:white;transition:background .18s ease,border-color .18s ease}
.budget-steps a:hover{background:#f4dfc8;border-color:#ae7850}.budget-steps a[aria-current=page]{background:#1b1b17;color:white;border-color:#1b1b17}
.budget-quick-link{margin:22px 0;padding:20px 22px;display:flex;gap:18px;flex-wrap:wrap;align-items:center;justify-content:space-between;border:1px solid #d7c6a1;border-radius:16px;background:#fff6e4;line-height:1.5}.budget-quick-link strong{display:block;font-size:19px}.budget-quick-link p{margin:5px 0 0;max-width:65ch}
.budget-quick-link a{display:inline-flex;align-items:center;min-height:46px;color:#883019;font-weight:750;text-decoration:underline;text-underline-offset:4px}
.budget-summary{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.budget-summary span{padding:9px 14px;border-radius:999px;background:#efefde;font-size:15px;line-height:1.5}
.budget-guidance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:36px 0}.budget-guidance section{border:1px solid var(--budget-line);background:var(--budget-paper);padding:24px;border-radius:18px}.budget-guidance h2{font-size:24px;line-height:1.3;margin:0 0 14px}.budget-guidance p{line-height:1.7;margin:12px 0 0}
.budget-pair{padding:22px;border-radius:18px;background:#f0f0dc;margin:26px 0;line-height:1.65}.budget-pair h2{font-size:23px;margin:0 0 12px}.budget-pair a{color:#563c25;text-decoration:underline;text-underline-offset:3px}.budget-pair p{margin:10px 0}.budget-pair ul{padding-left:22px}
.budget-occasion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0}.budget-occasion{border:1px solid var(--budget-line);border-radius:20px;background:var(--budget-paper);padding:22px}.budget-occasion-header{display:flex;align-items:center;gap:18px;margin-bottom:18px}.budget-occasion img{width:96px;height:96px;object-fit:contain;border-radius:12px;background:#fff}.budget-occasion h2{font-size:24px;line-height:1.3;margin:0 0 8px}.budget-occasion h2 a{color:var(--budget-ink);text-decoration:none}.budget-occasion p{line-height:1.6;color:var(--budget-muted);margin:8px 0}.budget-occasion .budget-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
.budget-faq{margin:36px 0}.budget-faq h2{font-size:28px}.budget-faq details{border-bottom:1px solid var(--budget-line);padding:8px 0}.budget-faq summary{cursor:pointer;font-weight:700;min-height:48px;padding:12px 4px;line-height:1.5}.budget-faq details p{line-height:1.7;max-width:80ch;margin:0 4px 18px}
.budget-other-links{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.budget-other-links a{display:inline-flex;align-items:center;min-height:46px;padding:10px 16px;border:1px solid var(--budget-line);border-radius:999px;background:#fffdf7;color:var(--budget-ink);font-weight:650;text-decoration:none}
.budget-page :is(a,button,select,summary):focus-visible,.budget-paths a:focus-visible,.budget-quick-link a:focus-visible{outline:3px solid #9b2f15;outline-offset:4px}
.budget-page [hidden]{display:none!important}
@media(max-width:1100px){.budget-steps{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:700px){.budget-occasion-grid,.budget-guidance{grid-template-columns:1fr}.budget-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.budget-page h1{font-size:28px;max-width:100%}.budget-paths,.budget-guidance section,.budget-occasion,.budget-pair{padding:18px}.budget-intro{font-size:16px}.budget-quick-link{padding:18px}.budget-occasion h2{font-size:22px}.budget-terms{padding:14px 16px}}
@media(prefers-reduced-motion:reduce){.budget-page *,.budget-paths *{transition:none!important;scroll-behavior:auto!important}}
