.ach-calc { --ac-orange:#f7951d; --ac-ink:#090b0d; --ac-muted:#61666d; --ac-border:#d8dce0; --ac-error:#ab231b; color:var(--ac-ink); background:#fff; border:1px solid var(--ac-border); border-radius:24px; overflow:hidden; margin:2rem 0; font-family:inherit; line-height:1.5; box-shadow:0 12px 36px #090b0d08; }
.ach-calc *, .ach-calc *::before, .ach-calc *::after { box-sizing:border-box; }
.ach-calc [hidden] { display:none !important; }
.ach-calc__intro { color:#fff; padding:clamp(24px,4vw,40px); background:radial-gradient(ellipse at top right,#f7951d20,transparent 65%),var(--ac-ink); }
.ach-calc .ach-calc__eyebrow { margin:0 0 10px; font-weight:800; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ac-orange); }
.ach-calc__intro h3 { color:#fff; margin:0 0 12px; font-size:clamp(1.65rem,3vw,2.35rem); line-height:1.13; letter-spacing:-.035em; }
.ach-calc__intro p:not(.ach-calc__eyebrow) { color:#c4c9ce; margin:0 0 20px; max-width:64ch; font-size:.96rem; }
.ach-calc__badge { display:inline-block; border:1px solid #ffffff26; color:#e4e7eb; border-radius:100px; padding:7px 12px; font-size:.72rem; letter-spacing:.02em; }
.ach-calc__form { padding:clamp(20px,4vw,36px); }
.ach-calc fieldset { border:0; margin:0; padding:0; min-width:0; }
.ach-calc legend { display:flex; align-items:center; gap:10px; font-size:1.05rem; font-weight:800; padding:0; margin-bottom:6px; color:var(--ac-ink); }
.ach-calc legend span { font-size:.69rem; background:#fff0de; color:#8d4b00; display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:8px; }
.ach-calc .ach-calc__hint { color:var(--ac-muted); font-size:.8rem; margin:0 0 18px; }
.ach-calc__fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 14px; }
.ach-calc__fields--activity { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ach-calc__field label { display:block; font-size:.77rem; font-weight:750; line-height:1.4; margin-bottom:7px; }
.ach-calc__field input { width:100%; min-height:48px; border:1px solid #b5bbc2; border-radius:9px; padding:10px 12px; font:inherit; font-size:1rem; font-variant-numeric:tabular-nums; color:var(--ac-ink); background:#fff; box-shadow:0 2px 2px #090b0d03; }
.ach-calc__field input:hover { border-color:#727b85; }
.ach-calc__field input[aria-invalid="true"] { border:2px solid var(--ac-error); }
.ach-calc__field small { display:block; color:var(--ac-muted); font-size:.69rem; margin-top:6px; line-height:1.5; }
.ach-calc__field .ach-calc__error { color:var(--ac-error); font-weight:700; }
.ach-calc__quotes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; margin-top:30px; padding-top:27px; border-top:1px solid var(--ac-border); }
.ach-calc__quote--b { border-left:1px solid var(--ac-border) !important; padding-left:26px !important; }
.ach-calc .ach-calc__cap-note { color:#494f56; margin:24px 0; font-size:.76rem; padding:13px 16px; background:#f5f6f7; border-radius:9px; }
.ach-calc__actions { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.ach-calc button { appearance:none; border:0; font:inherit; cursor:pointer; min-height:46px; border-radius:100px; font-size:.8rem; font-weight:800; padding:12px 19px; transition:background .15s ease; }
.ach-calc__primary { color:var(--ac-ink); background:var(--ac-orange); }
.ach-calc__primary:hover { background:#ffad40; }
.ach-calc__primary span { padding-left:12px; }
.ach-calc__secondary { background:#f1f3f5; color:var(--ac-ink); }
.ach-calc__secondary:hover { background:#e4e7eb; }
.ach-calc .ach-calc__download { background:transparent; color:var(--ac-ink); border:1px solid #adb3ba; font-size:.71rem; padding:9px 13px; min-height:40px; }
.ach-calc :is(input,button,summary,.ach-calc__table-wrap):focus-visible { outline:3px solid #aa5700; outline-offset:3px; }
.ach-calc button:disabled { opacity:.45; cursor:default; }
.ach-calc__errors { padding:14px 16px; border:1px solid #da948f; background:#fff4f3; color:var(--ac-error); border-radius:9px; font-size:.8rem; margin-bottom:16px; }
.ach-calc .ach-calc__stale, .ach-calc .ach-calc__boot { padding:0 36px 20px; font-size:.84rem; color:#5e6268; }
.ach-calc__results { border-top:1px solid var(--ac-border); padding:clamp(20px,4vw,36px); background:#fafbfc; }
.ach-calc__result-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; margin-bottom:22px; }
.ach-calc__result-heading .ach-calc__eyebrow { color:#925006; margin-bottom:5px; }
.ach-calc__result-heading h4 { font-size:1.3rem; line-height:1.2; margin:0; letter-spacing:-.025em; color:var(--ac-ink); }
.ach-calc__totals { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.ach-calc__total { padding:22px; border:1px solid #d9dde2; background:#fff; border-radius:14px; }
.ach-calc__total--b { border-color:#edba7e; background:#fff8ee; }
.ach-calc__total span { display:block; font-size:.78rem; font-weight:750; }
.ach-calc__total strong { display:block; font-size:clamp(1.8rem,4vw,2.7rem); line-height:1.15; letter-spacing:-.055em; margin:9px 0; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.ach-calc__total small { color:#50565e; font-size:.71rem; }
.ach-calc .ach-calc__difference { font-size:.82rem; margin:18px 0 22px; font-weight:650; line-height:1.6; }
.ach-calc__chart { padding:18px 0 24px; }
.ach-calc__chart-row { display:flex; gap:12px; align-items:center; margin-bottom:12px; }
.ach-calc__chart-row strong { font-size:.75rem; width:12px; }
.ach-calc__bar { height:24px; background:#e9edf0; display:flex; width:100%; border-radius:5px; overflow:hidden; }
.ach-calc__bar span { min-width:0; height:100%; }
.ach-calc__bar span:nth-child(1), .ach-calc__key span:nth-child(1)::before { background:#f7951d; }
.ach-calc__bar span:nth-child(2), .ach-calc__key span:nth-child(2)::before { background:#090b0d; }
.ach-calc__bar span:nth-child(3), .ach-calc__key span:nth-child(3)::before { background:#78818d; }
.ach-calc__bar span:nth-child(4), .ach-calc__key span:nth-child(4)::before { background:#c5a178; }
.ach-calc__key { display:flex; gap:10px 18px; flex-wrap:wrap; margin-left:24px; }
.ach-calc__key span { display:flex; align-items:center; gap:6px; font-size:.66rem; color:#565c64; }
.ach-calc__key span::before { content:""; width:9px; height:9px; border-radius:2px; }
.ach-calc__table-wrap { overflow-x:auto; }
.ach-calc .ach-calc__table { width:100%; border-collapse:collapse; font-size:.79rem; min-width:430px; background:transparent; }
.ach-calc__table caption { text-align:left; font-size:.72rem; color:#606772; padding:0 0 11px; }
.ach-calc__table th, .ach-calc__table td { text-align:right; padding:11px 10px; border-bottom:1px solid #dde1e5; background:transparent; color:var(--ac-ink); font-variant-numeric:tabular-nums; }
.ach-calc__table th:first-child { text-align:left; padding-left:0; }
.ach-calc__table thead th { font-size:.7rem; font-weight:800; color:#646a71; }
.ach-calc__table tbody th { font-weight:500; }
.ach-calc__table .ach-calc__table-total :is(th,td) { font-weight:800; border-top:1px solid #abb2bb; }
.ach-calc .ach-calc__result-note { font-size:.7rem; color:#5a616a; margin:16px 0 0; }
.ach-calc__method { border-top:1px solid var(--ac-border); padding:20px clamp(20px,4vw,36px); font-size:.77rem; }
.ach-calc__method summary { cursor:pointer; font-weight:800; padding:5px 0; }
.ach-calc__method p { font-size:inherit; margin:18px 0 10px; }
.ach-calc__method ul { padding-left:20px; margin:12px 0; }
.ach-calc__method li { margin:10px 0; color:#555c64; }
.ach-calc .ach-calc__privacy { color:#666d75; font-size:.69rem; margin:0; padding:0 clamp(20px,4vw,36px) 24px; }
.ach-calc__sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
@media (max-width:700px) {
  .ach-calc__quotes { grid-template-columns:1fr; gap:26px; }
  .ach-calc__quote--b { border-left:0 !important; border-top:1px solid var(--ac-border) !important; padding:24px 0 0 !important; }
  .ach-calc__fields--activity { grid-template-columns:1fr; gap:16px; }
  .ach-calc__totals { gap:10px; }
  .ach-calc__total { padding:16px; }
  .ach-calc__total small { font-size:.66rem; }
}
@media (max-width:390px) {
  .ach-calc__fields { grid-template-columns:1fr; }
  .ach-calc__totals { grid-template-columns:1fr; }
  .ach-calc__actions button { width:100%; }
}
@media (prefers-reduced-motion:reduce) { .ach-calc button { transition:none; } }
