*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{min-width:320px;margin:0;font-family:DM Sans,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.app-shell *,.app-shell *:before,.app-shell *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.check-control{min-height:58px;display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid #d4ded7;border-radius:3px;background:#fbfcfa;color:#344941;cursor:pointer}.check-control input{width:16px;height:16px;margin:0;accent-color:#1f6a4f}.check-copy{display:flex;flex-direction:column;gap:3px}.check-copy strong{font-size:12px}.check-copy small{color:#68766f;font-size:10px}.topbar-nav{display:flex;align-items:center;gap:20px}.page-footer nav{display:flex;flex-wrap:wrap;gap:10px 14px}.page-footer nav a{color:#1f6a4f}.topbar-nav a{padding-block:8px;border-bottom:1px solid transparent;color:#d2ddd3;font-size:12px;text-decoration:none}.topbar-nav a:hover,.topbar-nav a[aria-current=page]{border-color:#d6ef84;color:#fff}.topbar-nav a:focus-visible{outline:3px solid rgba(231,126,78,.5333333333);outline-offset:3px}.calculator-intro{margin-top:34px;padding:23px 26px;border-left:2px solid #1f6a4f;background:#fff;color:#68766f;line-height:1.65}.calculator-intro h2{margin:0 0 12px;color:#18352f;font-family:"DM Serif Display",Georgia,serif;font-size:23px;font-weight:400}.calculator-intro p{margin:9px 0 0;font-size:13px}.growth-figure{margin:24px 0 0;padding:18px 18px 12px;border:1px solid #dce5df;background:#fbfcfa}.growth-figure figcaption{margin-bottom:14px;color:#18352f;font-size:12px;font-weight:700}.growth-chart{min-height:190px;margin:0;padding:0 0 5px;display:flex;align-items:end;gap:4px;overflow-x:auto;list-style:none;border-bottom:1px solid #dce5df}.growth-chart li{min-width:22px;height:180px;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:5px;color:#68766f;font-size:9px}.chart-column{width:14px;height:150px;display:flex;align-items:end}.chart-bar{width:100%;min-height:4px;display:block;background:#1f6a4f;border-radius:2px 2px 0 0}.chart-year{line-height:1}.field-error{color:#a85431;font-size:12px;line-height:1.4}.calculator-card{text-decoration:none}.calculator-card:focus-visible,.brand:focus-visible,.submit-button:focus-visible,.text-button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(231,126,78,.5333333333);outline-offset:3px}@media(max-width:760px){.topbar-nav{order:3;flex:1 0 100%;flex-wrap:wrap;justify-content:center}}@media(max-width:520px){.topbar-nav{gap:12px 16px;justify-content:flex-start}.topbar-nav a{font-size:11px}.calculator-intro{margin-top:25px;padding:19px 17px}}.input-mode{display:flex;gap:6px}.input-mode button{padding:7px 13px;border:1px solid #dce5df;border-radius:3px;background:#fff;color:#68766f;font:inherit;font-size:11px;cursor:pointer}.input-mode button.is-active{background:#1f6a4f;color:#fff}.salary-form .field{min-height:86px}.form-section-title{grid-column:1/-1;margin:4px 0 -6px;padding-bottom:8px;border-bottom:1px solid #dce5df;color:#1f6a4f;font-size:11px;font-weight:700;letter-spacing:.4px}.result-panel{margin-top:22px;padding:23px 24px 18px;border-top:2px solid #d6ef84;background:#f6f8f2;animation:rise-in .3s ease-out both}.result-lead{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.result-kicker{color:#1f6a4f;font-size:9px;font-weight:700;letter-spacing:1.1px}.result-lead>strong{color:#18352f;font-family:"DM Serif Display",Georgia,serif;font-size:34px;font-weight:400;line-height:1.2}.result-lead>strong small{color:#68766f;font-family:DM Sans,sans-serif;font-size:12px}.result-lead>span:last-child{color:#68766f;font-size:11px}.result-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:19px;padding-top:16px;border-top:1px solid #dce5df}.result-metrics>div{min-width:0;display:flex;flex-direction:column;gap:5px}.result-metrics span{color:#68766f;font-size:10px}.result-metrics strong{color:#18352f;font-size:13px}.monthly-breakdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:19px;padding:16px 0;border-top:1px solid #dce5df;border-bottom:1px solid #dce5df}.monthly-breakdown>div{min-width:0;display:flex;flex-direction:column;gap:5px}.monthly-breakdown span{color:#68766f;font-size:10px}.monthly-breakdown strong{color:#18352f;font-size:13px}.monthly-breakdown .monthly-net strong{color:#1f6a4f;font-weight:700}.result-caveat{margin:15px 0 0;color:#78857d;font-size:10px;line-height:1.55}.result-ineligible>strong{color:#a85431;font-size:25px}.loan-form-actions{display:flex;align-items:center;gap:10px}.loan-scenarios,.loan-amortization{margin-top:24px;padding-top:18px;border-top:1px solid #dce5df}.loan-scenarios h3{margin:0 0 6px;color:#18352f;font-family:"DM Serif Display",Georgia,serif;font-size:20px;font-weight:400}.loan-scenarios>.field-hint{display:block;margin-bottom:12px}.loan-amortization summary{color:#1f6a4f;font-size:12px;font-weight:700;cursor:pointer}.loan-table-scroll{max-width:100%;margin-top:12px;overflow:auto;border:1px solid #dce5df;background:#fff;overscroll-behavior-x:contain}.loan-table-scroll:focus-visible{outline:3px solid rgba(231,126,78,.5333333333);outline-offset:3px}.loan-table{width:100%;border-collapse:collapse;font-size:11px;text-align:right;white-space:nowrap}.loan-table th,.loan-table td{padding:9px 11px;border-bottom:1px solid #e7ede8}.loan-table thead th{position:sticky;top:0;background:#f2f6f1;color:#344941;font-size:10px}.loan-table tbody th{color:#344941;font-weight:600}.loan-table tbody tr:last-child th,.loan-table tbody tr:last-child td{border-bottom:0}@media(max-width:650px){.result-panel{padding:19px 16px 16px}.result-lead>strong{font-size:29px}.result-metrics,.monthly-breakdown{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:15px}.loan-form-actions{align-items:stretch;flex-direction:column-reverse}.loan-form-actions>button{justify-content:center}.loan-table{min-width:760px}}
