.control.budget-control{background:var(--bg);color:var(--ink);color-scheme:dark;border-top:1px solid var(--line)}
.budget-control .eyebrow,.budget-control .mono,.budget-control .section-heading>p{color:#999}
.budget-control .section-heading{align-items:flex-start;margin-bottom:48px}
.budget-control .section-heading>p{padding-top:10px;max-width:340px}
.budget-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);margin-bottom:52px}
.budget-rules>div{padding:27px 28px 0 0}.budget-rules>div+div{padding-left:28px;border-left:1px solid var(--line)}
.budget-rules .mono{font-size:10px}.budget-rules h3{font-size:24px;line-height:1.2;margin:18px 0 12px;letter-spacing:-.03em}.budget-rules p{color:#aaa;font-size:13px;line-height:1.8;max-width:330px}
.budget-example{border:1px solid #ffffff25;background:#121212;border-radius:12px;overflow:hidden}
.budget-example-top{padding:28px 32px;border-bottom:1px solid var(--line);display:flex;gap:24px;justify-content:space-between;align-items:center}
.budget-example-top .mono{font-size:10px}.budget-example-top h3{font-size:25px;line-height:1.2;margin-top:12px}.budget-pause{font-size:11px;color:#bbb;display:flex;gap:10px;align-items:center;white-space:nowrap}.budget-pause svg{color:var(--red);width:17px;height:17px}
.budget-example-body{display:grid;grid-template-columns:1.2fr 1fr}.budget-situation{padding:34px 32px}.budget-timeline{list-style:none;margin:0;padding:0}.budget-timeline li{display:flex;gap:18px;position:relative;padding-bottom:28px}.budget-timeline li:last-child{padding-bottom:0}.budget-timeline li:not(:last-child):before{content:'';position:absolute;left:5px;top:15px;bottom:0;width:1px;background:#ffffff22}.budget-dot{border:1px solid #777;border-radius:50%;width:11px;height:11px;flex-shrink:0;margin-top:5px;position:relative;background:#121212}.budget-timeline li:last-child .budget-dot{border-color:var(--red);background:var(--red);box-shadow:0 0 0 5px #f01f011a}
.budget-timeline h4{font-size:17px;letter-spacing:-.02em;line-height:1.4}.budget-timeline p{font-size:13px;line-height:1.8;color:#aaa;margin-top:8px}.budget-decision{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.budget-decision>p{font-size:12px;color:#aaa;margin-bottom:16px}.budget-decision>div{display:flex;flex-wrap:wrap;gap:12px}.budget-decision .button{font-size:12px;min-height:48px;padding:14px 16px;gap:12px}.budget-decision .button[aria-pressed=true]{outline:1px solid #eee;outline-offset:3px}.budget-decision .button-quiet{color:#eee}
.budget-outcome{border-left:1px solid var(--line);padding:36px 32px;background:#171717;display:flex;flex-direction:column;align-items:flex-start;min-width:0}.budget-outcome .mono{font-size:10px}.budget-outcome h3{font-size:30px;line-height:1.15;margin-top:22px;max-width:360px}.budget-amount{margin:30px 0 24px;display:flex;flex-direction:column;gap:8px}.budget-amount>span{font-size:12px;color:#aaa;line-height:1.6}.budget-amount strong{font-size:48px;line-height:1.15;letter-spacing:-.05em;font-weight:650}.budget-outcome>p{font-size:13px;line-height:1.8;color:#bbb}.budget-delivery{margin-top:26px;padding-top:20px;border-top:1px solid var(--line);width:100%}.budget-delivery>span{font-size:9px;color:#999;letter-spacing:.08em}.budget-delivery p{font-size:13px;line-height:1.8;color:#ddd;margin-top:8px}.budget-example-note{border-top:1px solid var(--line);padding:18px 32px;font-size:11px;color:#888;line-height:1.7}
.budget-policy{display:grid;grid-template-columns:1fr 1.5fr;gap:50px;margin-top:38px}.budget-policy>h3{font-size:25px;line-height:1.25;max-width:300px}.budget-policy p{font-size:13px;line-height:1.85;color:#aaa}.budget-policy details{margin-top:20px;border-top:1px solid var(--line)}.budget-policy summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 0;font-size:13px;color:#ddd;cursor:pointer}.budget-policy summary::-webkit-details-marker{display:none}.budget-policy summary>span{color:var(--red);font-size:22px}.budget-policy details[open] summary>span{transform:rotate(45deg)}.budget-policy details p+p{margin-top:15px}.budget-policy strong{color:#eee;font-weight:550}
@media(max-width:1100px){.budget-control .section-heading{display:block}.budget-control .section-heading>p{max-width:620px;margin-top:22px}.budget-example-body{grid-template-columns:1fr 1fr}.budget-outcome h3{font-size:26px}.budget-situation,.budget-outcome{padding:28px 24px}.budget-rules h3{font-size:21px}.budget-rules>div{padding-right:20px}.budget-rules>div+div{padding-left:20px}}
@media(max-width:760px){.budget-example-body{grid-template-columns:1fr}.budget-outcome{border-left:0;border-top:1px solid var(--line)}.budget-example-top{align-items:flex-start;flex-direction:column;padding:24px}.budget-rules{grid-template-columns:1fr;margin-bottom:32px}.budget-rules>div,.budget-rules>div+div{border-left:0;padding:20px 0;border-bottom:1px solid var(--line)}.budget-rules h3{margin:10px 0 8px;font-size:22px}.budget-rules p{max-width:none}.budget-control .section-heading{margin-bottom:30px}.budget-policy{grid-template-columns:1fr;gap:20px}.budget-policy>h3{max-width:none}.budget-example-note{padding:18px 24px}.budget-example-top h3{font-size:23px}}
@media(max-width:420px){.budget-situation,.budget-outcome,.budget-example-top{padding:22px 18px}.budget-decision>div{flex-direction:column;align-items:stretch}.budget-timeline li{gap:13px}.budget-timeline h4{font-size:16px}.budget-timeline p{font-size:12px}.budget-outcome h3{font-size:27px}.budget-amount strong{font-size:42px}.budget-example-note{padding:16px 18px}}

.budget-outcome{scroll-margin-top:110px}

/* Reassurance first; the detailed financial example is optional. */
.budget-reasons{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 36px}
.budget-reasons article{position:relative;padding:32px 40px 34px 0;min-width:0}.budget-reasons article+article{border-left:1px solid var(--line);padding-left:40px;padding-right:0}
.budget-reason-icon{display:block;color:var(--red);font-size:29px;line-height:1;margin-bottom:22px}.budget-reasons h3{font-size:27px;line-height:1.2;margin-bottom:18px;max-width:350px}.budget-reasons p{color:#aaa;font-size:14px;line-height:1.85;max-width:480px}.budget-reasons strong{display:block;font-size:14px;line-height:1.7;font-weight:500;color:#eee;margin-top:22px;max-width:480px}
.budget-choice-note{display:grid;grid-template-columns:1fr 1.25fr;gap:40px;align-items:start;margin-bottom:32px}.budget-choice-note h3{font-size:25px;line-height:1.25;max-width:340px}.budget-choice-note p{font-size:13px;line-height:1.85;color:#aaa}
.budget-walkthrough{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.budget-walkthrough>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:22px;padding:22px 0;cursor:pointer;font-size:17px;font-weight:500;line-height:1.4}.budget-walkthrough>summary::-webkit-details-marker{display:none}.budget-walkthrough>summary>span>span{display:block;font-size:12px;color:#999;font-weight:400;margin-top:5px}.budget-disclosure-icon{color:var(--red);font-size:26px;font-weight:400}.budget-walkthrough[open] .budget-disclosure-icon{transform:rotate(45deg)}.budget-walkthrough .budget-example{margin:8px 0 28px}
.budget-cta{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-top:38px}.budget-cta h3{font-size:27px;line-height:1.2;margin-bottom:12px}.budget-cta p{font-size:13px;line-height:1.7;color:#aaa}.budget-cta>.button{flex-shrink:0;font-size:13px;min-height:54px}
@media(max-width:760px){.budget-reasons{grid-template-columns:1fr}.budget-reasons article,.budget-reasons article+article{padding:26px 0;border-left:0}.budget-reasons article+article{border-top:1px solid var(--line)}.budget-reason-icon{margin-bottom:14px}.budget-reasons h3{font-size:24px;max-width:none;margin-bottom:12px}.budget-reasons p{font-size:13px}.budget-reasons strong{font-size:13px;margin-top:14px}.budget-choice-note{grid-template-columns:1fr;gap:14px}.budget-choice-note h3{font-size:23px;max-width:none}.budget-cta{align-items:flex-start;flex-direction:column;gap:20px}.budget-cta h3{font-size:25px}.budget-walkthrough>summary{font-size:16px}}

/* Shared rows align both reasons regardless of wrapping. */
@media(min-width:761px){
  .budget-reasons{grid-template-rows:repeat(4,auto)}
  .budget-reasons article{display:grid;grid-template-rows:subgrid;grid-row:1 / span 4;row-gap:0}
  .budget-reasons article>*{align-self:start}
}

.budget-walkthrough { border: 1px solid #ffffff26; border-radius: 14px; background: #141414; overflow: hidden; }
.budget-walkthrough > summary { padding: 25px 28px; gap: 28px; transition: background .2s ease; }
.budget-walkthrough > summary:hover { background: #ffffff04; }
.budget-walkthrough > summary:focus-visible { outline: 2px solid #ff7659; outline-offset: -3px; border-radius: 13px; }
.budget-disclosure-copy { display: block; min-width: 0; }
.budget-disclosure-copy > small { display: block; color: #ff8068; font-size: 10px; letter-spacing: .12em; margin-bottom: 9px; font-weight: 500; }
.budget-disclosure-copy > strong { display: block; color: #f3f3f3; font-size: 22px; line-height: 1.25; letter-spacing: -.025em; font-weight: 650; }
.budget-walkthrough > summary .budget-disclosure-copy > span { margin-top: 7px; color: #aaa; font-size: 13px; }
.budget-disclosure-action { display: flex; align-items: center; justify-content: center; gap: 16px; flex-shrink: 0; padding: 14px 18px; border-radius: 9px; border: 1px solid #ff765962; color: #fff; background: #f0250712; transition: background .2s, border-color .2s; }
.budget-disclosure-action b { font-size: 13px; font-weight: 550; white-space: nowrap; }
.budget-disclosure-action svg { width: 19px; height: 19px; color: #ff7659; transition: transform .25s; }
.budget-walkthrough > summary:hover .budget-disclosure-action { border-color: #ff7659; background: #f0250728; }
.budget-disclosure-action .budget-label-close { display: none; }
.budget-walkthrough[open] .budget-label-open { display: none; }
.budget-walkthrough[open] .budget-label-close { display: inline; }
.budget-walkthrough[open] .budget-disclosure-action svg { transform: rotate(180deg); }
.budget-walkthrough[open] > summary { border-bottom: 1px solid #ffffff1c; }
.budget-walkthrough .budget-example { margin: 0; border: 0; border-radius: 0; }
@media(max-width:700px) {
  .budget-walkthrough > summary { flex-direction: column; align-items: stretch; gap: 20px; padding: 23px; }
  .budget-disclosure-copy > strong { font-size: 23px; }
  .budget-disclosure-action { justify-content: space-between; padding: 13px 16px; }
}
@media(prefers-reduced-motion:reduce) {
  .budget-walkthrough > summary,.budget-disclosure-action,.budget-disclosure-action svg { transition: none; }
}
