/* Budget calculator (/budget-calculator). Loaded only on that page; everything is scoped under .bc. */
.bc{--red:#B42318;--red-bg:#FDF1EE;--green:#1F7A4D;--green-bg:#E8F5EE;--amber:#9A6700;--amber-bg:#FFF6DC}
.bc-banner{padding:64px 0 56px}
.bc-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.bc-banner h1{margin:16px 0 14px;max-width:20ch}
.bc-banner h1 em{font-style:normal;color:var(--sky)}
.bc-lang{display:inline-flex;border:1.5px solid var(--line);border-radius:999px;overflow:hidden;background:#fff}
.bc-lang button{font:600 13px/1 var(--sans);padding:11px 16px;min-height:42px;background:transparent;color:var(--navy);border:0;cursor:pointer}
.bc-lang button.on{background:var(--navy);color:#fff}

.bc-sec{padding:48px 0 88px}
.bc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.bc-mt{margin-top:22px}
.bc-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px 26px;box-shadow:0 20px 40px -36px rgba(7,22,60,.35)}
.bc-card h2{font-size:24px;margin:0 0 4px}
.bc-k{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sky-hover);margin-bottom:10px}
.bc-k2{margin-top:28px}
.bc-p{margin:6px 0 4px;font-size:14px;color:var(--muted)}
.bc label,.bc-lbl{display:block;font-size:14px;font-weight:600;color:var(--ink);margin:16px 0 6px}
.bc .hint{display:block;font-weight:400;color:var(--muted);font-size:12.5px;margin-top:2px}

.bc-in{position:relative}
.bc-in .pre,.bc-in .suf{position:absolute;top:50%;transform:translateY(-50%);color:var(--muted);font-size:15px;pointer-events:none}
.bc-in .pre{left:14px}.bc-in .suf{right:14px}
.bc input[type=number],.bc select{width:100%;font:500 16px var(--sans);color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:10px;height:50px;padding:0 14px;outline:none;-moz-appearance:textfield;appearance:textfield}
.bc input[type=number]::-webkit-outer-spin-button,.bc input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.bc select{-webkit-appearance:none;appearance:none;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%2307163C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 18px center/12px 8px;padding-right:44px}
.bc-in.money input{padding-left:30px}.bc-in.pct input{padding-right:34px}
.bc input:focus,.bc select:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(47,127,209,.18)}

.bc-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px}
.bc-seg button{font:500 13px/1.25 var(--sans);padding:11px 6px;min-height:48px;border:1.5px solid var(--line);background:#fff;color:var(--muted);border-radius:10px;cursor:pointer;transition:border-color .15s,background .15s}
.bc-seg button:hover{border-color:var(--sky-soft)}
.bc-seg button b{display:block;font:600 18px/1.2 var(--serif);color:var(--navy)}
.bc-seg button.on{background:var(--navy);color:var(--sky-soft);border-color:var(--navy)}
.bc-seg button.on b{color:#fff}
.bc-seg.prog{grid-template-columns:repeat(5,1fr);margin-top:12px}
.bc-seg.prog button b{font-size:16px}
.bc-seg.prog button span{font-size:11.5px}
.bc-seg.two{grid-template-columns:1fr 1fr;width:104px;flex:0 0 104px;margin:0}
.bc-seg.two button{padding:0 4px;font-size:15px;font-weight:700;color:var(--navy)}
.bc-seg.two button.on{color:#fff}
.bc-row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:4px}
.bc-dp{display:flex;gap:8px;align-items:stretch}
.bc-dp .bc-in{flex:1}
.bc-pnote{font-size:13px;color:var(--muted);margin-top:8px;line-height:1.5}
.bc-pnote.bad{color:var(--red)}
.bc-ftq{margin-top:12px;background:var(--tint);border:1px solid var(--sky-soft);border-radius:12px;padding:14px 16px}
.bc-ftq-q{font-size:14px;font-weight:600;color:var(--navy);margin-bottom:10px}
.bc-ftq .bc-seg.two{width:160px;flex:none}
.bc-ftq .bc-seg.two button{font-size:14px;font-weight:600;min-height:44px}
.bc-pinfo{background:var(--ice);border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:13.5px;line-height:1.6;margin-top:38px;color:var(--ink)}
.bc-pinfo b{display:block;color:var(--navy);font:600 18px/1.3 var(--serif);margin-bottom:4px}

.bc-check{margin-top:18px;border-radius:12px;padding:14px 16px;border-left:4px solid}
.bc-check.good{background:var(--green-bg);border-color:var(--green);color:#163F2C}
.bc-check.warn{background:var(--amber-bg);border-color:var(--amber);color:#5A3D00}
.bc-check.bad{background:var(--red-bg);border-color:var(--red);color:#6B1A12}
.bc-check b{font:600 18px/1.3 var(--serif)}
.bc-check p{margin:4px 0 0;font-size:13.5px}

.bc-result{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%);color:#fff;border-radius:var(--r);padding:28px 30px;margin-top:22px}
.bc-result .bc-k{color:var(--sky-soft)}
.bc-big{font:600 60px/1 var(--serif);color:#fff;letter-spacing:-.01em}
.bc-big small{font:400 20px var(--sans);color:var(--sky-soft);margin-left:6px}
.bc-sub{color:#C5D3E8;font-size:14px;margin-top:8px}
.bc-bind{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:rgba(47,127,209,.22);color:var(--sky-soft);border:1px solid rgba(142,193,240,.45);border-radius:999px;padding:5px 12px;margin-top:12px}
.bc-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
.bc-tile{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:14px 16px}
.bc-tile .l{font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#C5D3E8}
.bc-tile .v{font:600 28px/1.15 var(--serif);color:#fff;margin-top:4px}
.bc-tile .n{font-size:12.5px;color:#A9BBD6;margin-top:2px}

.bc-tw{overflow-x:auto}
.bc-t{width:100%;border-collapse:collapse;font-size:14px;margin-top:4px}
.bc-t th{text-align:left;font-weight:700;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:6px 0;border-bottom:2px solid var(--navy)}
.bc-t td{padding:9px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.bc-t td:not(:first-child),.bc-t th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums;padding-left:12px;white-space:nowrap}
#cmp td:first-child{white-space:nowrap}
#cmp tr.cur td{font-weight:700;color:var(--navy)}
.bc-t tr.total td{font-weight:700;color:var(--navy);border-top:1.5px solid var(--sky);border-bottom:none}
.bc-fine{font-size:12.5px;color:var(--muted);margin:12px 0 0}

.bc-as{margin-top:22px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.bc-as-t{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;font:600 16px/1.4 var(--sans);color:var(--navy)}
.bc-as-t:focus-visible{outline:2px solid var(--sky);outline-offset:-2px;border-radius:var(--r)}
.bc-as.open .pm{background:var(--navy)}
.bc-as.open .pm:before,.bc-as.open .pm:after{background:#fff}
.bc-as.open .pm:after{transform:translate(-50%,-50%) rotate(0)}
.bc-asp{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}
.bc-as.open .bc-asp{grid-template-rows:1fr}
.bc-asp>div{overflow:hidden;min-height:0;visibility:hidden;transition:visibility 0s .35s}
.bc-as.open .bc-asp>div{visibility:visible;transition-delay:0s}
.bc-asp>div>.bc-asb{opacity:0;transition:opacity .25s ease}
.bc-as.open .bc-asp>div>.bc-asb{opacity:1;transition-delay:.08s}
.bc-asb{padding:0 22px 20px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 18px}
.bc-asb>div{display:flex;flex-direction:column}
.bc-asb>div>.bc-in{margin-top:auto}

.bc-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:28px}
.bc-toast{font-size:14px;color:var(--green);font-weight:600}
.bc-legal{margin-top:28px;font-size:12.5px;line-height:1.6;color:var(--muted)}
.bc-legal b{color:var(--ink)}

@media (max-width:1000px){.bc-asb{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.bc-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){
  .bc-banner{padding:44px 0 40px}
  .bc-sec{padding:28px 0 64px}
  .bc-grid,.bc-row2,.bc-asb{grid-template-columns:minmax(0,1fr)}
  .bc-card{padding:20px 18px}
  .bc-seg.prog{grid-template-columns:repeat(3,1fr)}
  .bc-pinfo{margin-top:14px}
  .bc-result{padding:24px 20px}
  .bc-big{font-size:46px}
  .bc-tiles{grid-template-columns:1fr 1fr}
  .bc-tiles .bc-tile:last-child{grid-column:1/-1}
  .bc-cta .btn{flex:1 1 100%}
  .bc-t{font-size:13px}
  #cmp td:first-child{white-space:normal}
  .bc-t td:not(:first-child),.bc-t th:not(:first-child){padding-left:8px}
}
@media (max-width:420px){
  .bc-card{padding:20px 16px}
  .bc-cmp thead{display:none}
  #cmp tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 10px;padding:12px 0;border-bottom:1px solid var(--line)}
  #cmp td{border:0;padding:0;text-align:left;white-space:nowrap}
  #cmp td:first-child{grid-column:1/-1;font-weight:600;margin-bottom:4px}
  #cmp td[data-l]:before{content:attr(data-l);display:block;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
}
@media (prefers-reduced-motion:reduce){.bc-asp,.bc-asp>div>.bc-asb{transition:none}}
