@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--bg:#f5f6f3;--card:#fff;--ink:#203b35;--muted:#7b8681;--line:#e5e9e3;--green:#326e58;--mint:#dbe9df;--lime:#d9edac;--orange:#c79059;--shadow:0 3px 14px #203b3503}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',system-ui,sans-serif}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}a{color:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;padding:36px 22px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{font-family:Manrope,system-ui;font-size:29px;font-weight:800;text-decoration:none;display:flex;align-items:center;gap:9px;letter-spacing:-1.4px}.brand-icon{display:inline-flex;align-items:center;justify-content:center;font-style:italic;background:var(--ink);color:var(--lime);height:35px;width:35px;border-radius:11px;font-size:30px;font-family:Georgia}.brand-dot{color:#9bb575;margin-left:-9px}.workspace-label{color:#9aa39e;font-size:10px;font-weight:700;letter-spacing:1.5px;margin:53px 12px 15px}nav{display:grid;gap:7px}nav button{text-align:left;background:none;border:0;padding:13px 12px;border-radius:8px;color:#79857e;font-weight:500;font-size:13px;display:flex;align-items:center;gap:12px}nav button span{font-size:19px;width:20px}nav button.active{background:#edf2e9;color:#32573f;font-weight:700}nav button:hover{background:#f3f6ef}.sidebar-bottom{margin-top:auto;padding:20px 10px 0}.small-orbit{display:block;font-size:30px;color:#99ad87;margin-bottom:15px}.sidebar-bottom b{font-size:13px}.sidebar-bottom p{font-size:12px;color:var(--muted);line-height:1.8}.currency{border-top:1px solid var(--line);margin-top:28px;padding-top:24px;font-size:11px;color:#77847c}main{margin-left:232px}header{height:80px;background:#ffffffb3;border-bottom:1px solid var(--line);padding:0 40px;display:flex;align-items:center;justify-content:space-between}.breadcrumb{font-size:12px;color:#87908a}.breadcrumb span{margin:0 15px;color:#bdc5be}.breadcrumb b{font-weight:500;color:#46604e}.header-actions{display:flex;align-items:center;gap:22px}#save-status{font-size:11px;color:#7c887e;display:flex;align-items:center;gap:6px}#save-status i{width:6px;height:6px;border-radius:50%;background:#739e74}.btn{border:1px solid #dbe2d8;background:#fff;border-radius:7px;padding:10px 15px;color:#365344;font-size:12px;font-weight:600}.btn:hover{background:#edf3e9}.btn.primary{background:var(--ink);color:white;border-color:var(--ink)}.content{max-width:1580px;padding:35px 40px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:2px;color:#869480;font-weight:700;margin-bottom:9px}h1{font:650 30px Manrope,system-ui;letter-spacing:-1.2px;margin:0 0 10px}.page-heading p{color:#869087;font-size:13px;margin:0}.pill{border:1px solid #dce3d5;background:#f0f4e9;padding:7px 11px;border-radius:20px;color:#748368;font-size:11px;white-space:nowrap}.notice{font-size:12px;color:#6f7f70;margin:0 0 23px;display:flex;flex-wrap:wrap;gap:3px}.notice button,footer button{border:0;background:none;color:#3e7050;text-decoration:underline;padding:0;font-size:inherit}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.metric{border:1px solid var(--line);border-radius:12px;background:white;padding:22px;box-shadow:var(--shadow);position:relative}.metric.featured{background:#214b40;border-color:#214b40;color:#fff}.metric-label{font-size:12px;color:#829080;display:flex;justify-content:space-between;align-items:center}.featured .metric-label{color:#cbdbce}.metric-label span{font-size:17px;opacity:.65}.metric-value{font:650 clamp(22px,2.25vw,34px) Manrope,system-ui;letter-spacing:-1px;margin:16px 0 9px;white-space:nowrap}.metric-note{font-size:10px;color:#9aa399}.featured .metric-note{color:#ccdbc2}.metric-note .up{color:#6b9562}.grid-main{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(270px,1fr);gap:22px;margin-bottom:22px}.card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:24px;box-shadow:var(--shadow);min-width:0}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:24px}h2{font:650 16px Manrope,system-ui;letter-spacing:-.3px;margin:0 0 6px}h3{font:650 14px Manrope,system-ui;margin:22px 0 13px}.subtle{font-size:11px;color:#8c968d;line-height:1.6}.segmented{display:flex;gap:3px;background:#f4f6f1;border:1px solid #ebeee6;padding:3px;border-radius:6px}.segmented button{border:0;background:none;color:#879181;font-size:10px;padding:5px 9px;border-radius:4px;white-space:nowrap}.segmented button.active{background:#fff;color:#466b43;box-shadow:0 1px 5px #0000000a}.chart-wrap{width:100%;min-height:250px;position:relative}.chart-wrap svg{width:100%;height:auto;display:block}.chart-summary{display:flex;gap:30px;margin-top:-4px;margin-bottom:10px}.chart-summary b{display:block;font:650 23px Manrope;letter-spacing:-.5px}.chart-summary small{font-size:10px;color:#8c968b}.legend{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;color:#8a9589;margin-top:14px}.legend i{width:7px;height:7px;display:inline-block;border-radius:50%;margin-right:6px}.chart-tip{font-size:11px;color:#69816e;min-height:15px;margin-top:5px}.offset-card{background:#f1f5e9;border-color:#e1e8d7}.offset-card .card-head{margin-bottom:22px}.offset-card h2{font-size:15px}.offset-amount{font:650 29px Manrope;letter-spacing:-1px;margin:6px 0}.progress{height:7px;border-radius:6px;background:#dde5d2;margin:19px 0 9px;overflow:hidden}.progress div{background:#66875b;height:100%;border-radius:6px}.spread{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#7b8872}.offset-insight{border-top:1px solid #dbe3d2;margin-top:20px;padding-top:16px}.offset-insight strong{font-size:18px;font-weight:600;color:#49653b}.link-button{display:inline-flex;border:0;background:none;padding:0;color:#58764c;gap:20px;font-size:11px;font-weight:600;margin-top:20px}.grid-bottom{display:grid;grid-template-columns:1fr 1fr;gap:22px}.allocation{display:flex;gap:30px;align-items:center}.donut{width:140px;height:140px;flex-shrink:0;position:relative;border-radius:50%;display:flex;align-items:center;justify-content:center}.donut:before{content:'';position:absolute;inset:17px;background:#fff;border-radius:50%}.donut div{z-index:1;text-align:center}.donut b{display:block;font:600 19px Manrope}.donut small{font-size:10px;color:#8c978a}.asset-legend{flex:1}.asset-line{display:flex;justify-content:space-between;gap:20px;font-size:11px;margin:12px 0;color:#6d806e}.asset-line span:first-child{display:flex;align-items:center;gap:7px}.asset-line i{height:7px;width:7px;border-radius:50%}.asset-line b{font-weight:500;color:#4a624c}.cash-line{display:flex;justify-content:space-between;font-size:12px;padding:10px 0;color:#7e8c7a}.cash-line b{color:#486147;font-weight:500}.cash-line.total{border-top:1px solid var(--line);margin-top:9px;padding-top:17px;font-weight:600}.flow-bar{height:9px;display:flex;border-radius:6px;overflow:hidden;margin:17px 0 11px;background:#eff2e9}.flow-bar i{display:block;height:100%}footer{display:flex;justify-content:space-between;gap:15px;padding:28px 0 0;font-size:10px;color:#9ca499}footer span{display:flex;gap:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:block;min-width:0}.field>span{display:block;font-size:11px;font-weight:500;color:#738271;margin-bottom:7px}.input-wrap{display:flex;align-items:center;border:1px solid #dce3d6;border-radius:7px;background:#fff;overflow:hidden}.input-wrap:focus-within{border-color:#56865b;box-shadow:0 0 0 3px #56865b15}.input-wrap em{font-style:normal;font-size:12px;color:#98a18e;padding:0 10px}.input-wrap input{width:100%;min-width:0;padding:10px 9px;border:0;background:transparent;color:#314d35;outline:none;font-size:13px}.field select{border:1px solid #dce3d6;border-radius:7px;background:#fff;color:#314d35;padding:10px;width:100%;font-size:12px}.field small{display:block;font-size:10px;line-height:1.5;color:#95a18d;margin-top:6px}.form-grid .full{grid-column:1/-1}.editor-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:22px;align-items:start}.stack{display:grid;gap:22px}.summary-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px}.summary-strip b{font:600 20px Manrope;display:block;margin-top:8px}.summary-strip small{color:#7e8d78;font-size:10px}.range-row{margin:20px 0}.range-row label{display:flex;justify-content:space-between;font-size:12px}.range-row input{width:100%;accent-color:#5d8154;margin-top:14px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{color:#8b9686;font-size:10px;font-weight:500;padding:12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:12px 10px;border-bottom:1px solid #eff2eb;color:#54704d;white-space:nowrap}tr:last-child td{border:0}.row-editor{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 30px;gap:12px;align-items:end;padding:16px 0;border-bottom:1px solid var(--line)}.row-editor.asset{grid-template-columns:1.2fr 1fr 1fr .65fr .85fr 30px}.row-editor .field input,.row-editor .field select{font-size:12px}.remove{border:0;background:#f5f6f2;border-radius:5px;height:34px;color:#8a8f7e;font-size:18px}.remove:hover{background:#f5e8e2;color:#9f5941}.add-btn{margin-top:18px;border:1px dashed #cbd6c2;background:#f8faf5;border-radius:7px;padding:10px 16px;color:#607855;font-size:12px}.detail-note{background:#f5f8ee;border-radius:7px;padding:13px 16px;font-size:11px;line-height:1.7;color:#748069;margin-top:18px}.warning{background:#fff3e8;color:#94663b}.danger{color:#a76947!important}.setting-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.assumptions{font-size:12px;color:#75836e;line-height:1.9}.assumptions li{margin-bottom:10px}.assumptions a{color:#386a44}.empty{padding:30px;color:#94a08b;text-align:center;font-size:12px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#234c3e;color:#fff;padding:13px 22px;border-radius:8px;display:none;box-shadow:0 4px 30px #0002;font-size:12px;z-index:10}.section-spaced{margin-top:22px}.hidden{display:none!important}@media(min-width:1600px){.content{padding-top:45px}.chart-wrap{min-height:280px}}@media(max-width:1150px){.sidebar{width:195px;padding:30px 14px}main{margin-left:195px}.content{padding:28px 25px}header{padding:0 25px}.grid-main{grid-template-columns:1.5fr 1fr}.metric{padding:17px}.allocation{gap:15px}.donut{width:115px;height:115px}.row-editor.asset{grid-template-columns:1fr 1fr 1fr}.row-editor.asset .remove{width:30px}.editor-grid{grid-template-columns:1fr 1.2fr}.chart-summary{gap:15px}.chart-summary b{font-size:20px}}@media(max-width:900px){.sidebar{width:73px;padding:25px 12px}.brand{font-size:0;gap:0}.brand-dot,.workspace-label,.sidebar-bottom{display:none}nav{margin-top:45px}nav button{font-size:0;padding:13px}nav button span{font-size:21px}.brand-icon{font-size:30px}main{margin-left:73px}.grid-main,.editor-grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.metric-value{font-size:29px}.grid-bottom{grid-template-columns:1fr 1fr}.allocation{flex-direction:column;align-items:stretch}.donut{align-self:center}.row-editor{grid-template-columns:1fr 1fr}.row-editor .remove{width:30px}.offset-card{display:block}.chart-wrap{min-height:0}}@media(max-width:600px){.sidebar{position:static;width:100%;height:auto;padding:17px 18px;border-right:0;border-bottom:1px solid var(--line);display:block}.brand{font-size:24px}.brand-icon{width:30px;height:30px;font-size:27px}.brand-dot{display:inline}nav{margin:18px -6px 0;display:flex;overflow:auto;gap:0}nav button{font-size:10px;padding:9px 10px;gap:0;white-space:nowrap}nav button span{display:none}main{margin-left:0}header{height:57px;padding:0 18px}.breadcrumb{display:none}.header-actions{width:100%;justify-content:space-between}.content{padding:25px 18px}.eyebrow{font-size:9px}h1{font-size:25px}.page-heading{align-items:flex-start;gap:8px}.page-heading p{font-size:12px;line-height:1.6;max-width:260px}.pill{font-size:9px;padding:5px 8px}.notice{font-size:10px;line-height:1.7}.metrics{gap:10px;margin-bottom:16px}.metric{padding:16px 13px;border-radius:9px}.metric-label{font-size:10px}.metric-label span{font-size:14px}.metric-value{font-size:24px;margin:12px 0 6px}.metric-note{font-size:9px;line-height:1.5}.card{padding:19px 16px}.grid-main,.grid-bottom,.stack{gap:16px}.grid-bottom{grid-template-columns:1fr}.chart-summary b{font-size:21px}.chart-summary small{font-size:9px}.chart-summary{gap:23px}.card-head{gap:8px}h2{font-size:14px}.segmented button{padding:5px 6px}.allocation{flex-direction:row;align-items:center;gap:25px}.donut{width:125px;height:125px}.summary-strip{gap:8px}.summary-strip b{font-size:18px}.summary-strip small{font-size:9px}.row-editor.asset{grid-template-columns:1fr 1fr}.form-grid{gap:14px}.field>span{font-size:10px}footer{flex-direction:column;line-height:1.7}.editor-grid{gap:16px}}
.milestones{display:grid;grid-template-columns:1.2fr 1fr 1.1fr;background:#e8efdb;border:1px solid #d7e2c5;border-radius:12px;padding:25px 26px;gap:25px;margin-bottom:8px}.milestones>div+div{border-left:1px solid #ccd9bc;padding-left:25px}.milestones .eyebrow{display:block;color:#6c8055;font-size:9px;letter-spacing:1.2px}.milestones strong{display:block;font:650 clamp(18px,1.7vw,25px) Manrope,system-ui;letter-spacing:-.7px;margin:10px 0}.milestones small{font-size:10px;color:#7a8c69;line-height:1.6;display:block}.comparison-note{font-size:10px;line-height:1.7;color:#8c9782;margin:0 4px 24px}.view-controls{display:flex;justify-content:space-between;gap:10px;margin-bottom:23px;flex-wrap:wrap}.chart-summary{margin-top:4px}.breakdown-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px}.year-select{font-size:12px;color:#7b8f70;white-space:nowrap}.year-select select{margin-left:6px;border:1px solid var(--line);border-radius:6px;padding:7px;color:var(--ink)}.check{display:flex;gap:9px;align-items:center;font-size:12px;color:#637c54;margin:17px 0;line-height:1.5}.check input{accent-color:#507449;width:16px;height:16px;flex-shrink:0}.form-grid.four{grid-template-columns:repeat(4,1fr)}.form-grid.three{grid-template-columns:repeat(3,1fr)}.editor-row{padding:20px 0;border-bottom:1px solid var(--line)}.editor-row:last-of-type{border-bottom:0}.row-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:12px;color:#74876b}.row-title .remove{width:30px;height:28px}.editor-row>.remove{margin-top:10px;width:28px}.person-card{padding:0 20px 12px;border:1px solid var(--line);border-radius:9px;background:#f8faf4}.summary-strip b{font-size:17px}.summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-strip small{line-height:1.6;display:block}.assumptions ol{padding-left:18px}details>summary{cursor:pointer;font-size:12px;color:#456a3f;padding:8px 0}#update-bar{position:fixed;bottom:18px;left:calc(50% + 100px);transform:translateX(-50%);display:none;align-items:center;gap:22px;padding:12px 18px;background:#eff5e7;border:1px solid #c8d8b8;border-radius:10px;box-shadow:0 5px 25px #213b3522;font-size:12px;z-index:8;max-width:90vw}#update-bar span{min-width:210px}#update-bar button{white-space:nowrap}.chart-wrap [data-year]{cursor:pointer}.chart-wrap [data-year]:focus{stroke:#436e43;stroke-width:2}.table-scroll tr[data-year]:hover{background:#f5f8ee;cursor:pointer}footer{margin-bottom:50px}input:invalid{color:#a05d40}.field input:invalid{background:#fff6ef}input,select{scroll-margin-top:70px}@media(max-width:1150px){.milestones{gap:15px;padding:20px}.milestones>div+div{padding-left:15px}.form-grid.four{grid-template-columns:1fr 1fr}.breakdown-grid{gap:25px}.header-actions{gap:10px}}@media(max-width:900px){#update-bar{left:50%}.milestones strong{font-size:18px}.breakdown-grid{grid-template-columns:1fr}.header-actions{gap:12px}}@media(max-width:600px){.milestones{grid-template-columns:1fr;padding:20px;gap:16px}.milestones>div+div{border-left:0;border-top:1px solid #ccd9bc;padding-left:0;padding-top:16px}.milestones strong{font-size:24px;margin:8px 0}.milestones .eyebrow{font-size:9px}.header-actions #save-status{font-size:9px;max-width:85px;line-height:1.4}.header-actions .btn{padding:8px 9px;font-size:10px}.header-actions{gap:5px}.header-actions #export span{display:none}.form-grid.four,.form-grid.three{grid-template-columns:1fr 1fr}.view-controls{gap:8px;margin-bottom:20px}.view-controls .segmented{flex-wrap:wrap}.summary-strip{grid-template-columns:1fr;gap:18px}.summary-strip b{font-size:20px;margin-top:3px}.card-head .check{font-size:10px;margin:0;max-width:100px}.breakdown-grid .cash-line{font-size:11px;line-height:1.6}.breakdown-grid .cash-line span{max-width:205px}.grid-bottom .person-card{padding:0 15px 12px}#update-bar{bottom:10px;gap:8px;padding:10px;width:calc(100% - 20px);max-width:none;left:50%;font-size:10px}#update-bar span{min-width:0}#update-bar button{font-size:10px;padding:10px}.comparison-note{font-size:9px}.grid-bottom{grid-template-columns:1fr}.editor-row{padding:18px 0}}

/* Keep the main graph ahead of summaries and input forms on every screen. */
.leading-chart{margin-bottom:24px}
.leading-chart .chart-wrap svg{max-height:340px}
@media(max-width:600px){.leading-chart{margin-bottom:16px}.leading-chart .chart-wrap svg{min-height:190px}}

.strategy-card{background:#f0f5e7;border:1px solid #c6d7b4}.strategy-card h2{font-size:21px}.strategy-card .detail-note{background:#fff;color:#456044}.strategy-card select{font-weight:600}.balance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.balance-grid small{display:block;color:#75846e;font-size:11px}.balance-grid strong{display:block;font:600 23px Manrope;margin-top:10px}.secondary-preview{background:#f7f8f4}.secondary-preview .setting-actions{margin-top:10px}.card>details{margin-top:15px}.card>summary{font-size:14px;font-weight:600}.card details .card{border:0;box-shadow:none}.grid-bottom.section-spaced{align-items:start}@media(max-width:600px){.balance-grid{grid-template-columns:1fr 1fr}.balance-grid strong{font-size:20px}.strategy-card h2{font-size:19px}.strategy-card select{font-size:12px}}

.strategy-shortcut{display:block;text-align:left;width:100%;border:1px solid #c6d7b4;background:#edf4e3;color:#365a37;border-radius:8px;padding:12px 14px;margin:12px 0 20px;font-size:12px;line-height:1.6}#offset-strategy{scroll-margin-top:20px}

/* Main calculator: term and repayment totals stay in view. */
.loan-setup{margin-bottom:18px}.loan-setup .card-head{margin-bottom:16px}.loan-setup .subtle{margin:5px 0}.loan-fields{grid-template-columns:1.3fr 1fr 1.3fr 1fr 1fr}.io-controls{display:flex;align-items:center;gap:25px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.io-controls .field{width:180px;flex-shrink:0}.io-controls .subtle{max-width:490px}.switch-label{display:flex;align-items:center;gap:10px;position:relative;cursor:pointer;font-size:12px;flex-shrink:0}.switch-label input{position:absolute;opacity:0;width:40px;height:24px}.switch-track{display:inline-block;width:38px;height:22px;border-radius:20px;background:#c6cfc4;padding:3px;transition:background .15s}.switch-track:before{content:'';display:block;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}.switch-label input:checked+.switch-track{background:#326e58}.switch-label input:checked+.switch-track:before{transform:translateX(16px)}.switch-label input:focus-visible+.switch-track{outline:2px solid #326e58;outline-offset:3px}.repayment-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 24px}.repayment-metrics .metric-value{font-size:clamp(22px,2.35vw,36px);letter-spacing:-1.1px}.repayment-metrics .metric-note{line-height:1.6}.repayment-metrics .metric:first-child{background:#214b40;color:white;border-color:#214b40}.repayment-metrics .metric:first-child .metric-label,.repayment-metrics .metric:first-child .metric-note{color:#d5e2ce}.mortgage-chart .chart-wrap svg{max-height:480px}.income-summary{grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:20px}.inline-link{margin:0;display:inline;font-size:inherit}#main-income{scroll-margin-top:20px}.loan-setup .btn{white-space:nowrap}
@media(max-width:1150px){.loan-fields{grid-template-columns:repeat(3,1fr)}.io-controls{flex-wrap:wrap;gap:15px}.repayment-metrics .metric-value{font-size:25px}}
@media(max-width:600px){.loan-fields{grid-template-columns:1fr 1fr}.loan-setup .card-head{flex-direction:column}.loan-setup .card-head .btn{align-self:flex-end}.io-controls{align-items:flex-start}.io-controls .field{width:100%}.repayment-metrics{grid-template-columns:1fr;gap:10px;margin-bottom:16px}.repayment-metrics .metric{padding:16px 18px}.repayment-metrics .metric-value{font-size:29px;margin:8px 0}.repayment-metrics .metric-note{font-size:10px}.mortgage-chart .chart-wrap{overflow-x:auto}.mortgage-chart .chart-wrap svg{min-width:0;min-height:285px;max-height:none}.income-summary{grid-template-columns:1fr;gap:18px}.income-summary strong{margin-top:4px}#main-income .form-grid{grid-template-columns:1fr}.card-head .link-button{margin-top:0}}

#account-controls{display:flex;align-items:center;gap:12px}.btn{text-decoration:none;display:inline-block}.account-signout{font-size:11px;color:#627667}.estimate-notice{border:1px solid #dce5d4;border-radius:9px;background:#f0f5e9;padding:12px 18px;margin:-6px 0 24px;color:#576b4e;font-size:12px;line-height:1.7}.estimate-notice summary{font-size:12px;padding:0}.estimate-notice li{margin:6px 0}.privacy-copy{max-width:900px;line-height:1.85;font-size:14px}.privacy-copy p{color:#657961}.privacy-copy h3{font-size:16px;margin-top:30px}.feedback-card{max-width:900px}.field textarea{width:100%;border:1px solid #dce3d6;border-radius:7px;padding:12px;resize:vertical;font:inherit;line-height:1.7;color:var(--ink)}.field textarea:focus{outline:2px solid #56865b;outline-offset:2px}.feedback-item{padding:18px 0;border-bottom:1px solid var(--line)}.feedback-item small{display:block;color:#7b8681;font-size:11px;margin:6px 0}.feedback-item p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:13px}footer span{flex-wrap:wrap;line-height:1.8}@media(max-width:600px){#account-controls{gap:6px}.account-signout{font-size:9px}.estimate-notice{font-size:11px;margin-bottom:16px;padding:12px}.estimate-notice summary{font-size:11px}.privacy-copy{font-size:13px}.header-actions #save-status{max-width:70px}}

.estimate-notice p{margin:8px 0}.estimate-notice> b{font-size:13px}.estimate-notice details{margin-top:10px}.estimate-notice summary{cursor:pointer}
@media print{.sidebar,header,#notice,#update-bar,footer,.setting-actions,.strategy-shortcut,button{display:none!important}main{margin:0!important}.content{max-width:none;padding:0}.card,.estimate-notice,.milestones{break-inside:avoid;box-shadow:none}.chart-wrap svg{max-height:340px}body{background:white;color:black}.estimate-notice{font-size:11px}}

.guides-nav{display:flex;align-items:center;gap:12px;text-decoration:none;padding:13px 12px;border-radius:8px;color:#66795f;font-size:13px;font-weight:500}.guides-nav:hover{background:#edf2e9}.guides-nav span{font-size:19px;width:20px}footer span{flex-wrap:wrap}footer a{color:#3e7050}@media(min-width:601px) and (max-width:900px){.guides-nav{font-size:0;padding:13px}.guides-nav span{font-size:21px}}@media(max-width:600px){.guides-nav{font-size:10px;padding:9px 10px;white-space:nowrap}.guides-nav span{display:none}}

/* Keep the full-offset choice next to the milestone dates. */
.mortgage-results .milestones { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mortgage-results .milestones small { font-size: 12px; color: #49613e; }
.mortgage-results .comparison-note { font-size: 11px; color: #637258; margin-bottom: 16px; }
.strategy-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: start; }
.strategy-layout .detail-note { margin-top: 0; }
.strategy-layout select { width: 100%; min-width: 0; }
#offset-strategy { margin-bottom: 22px; scroll-margin-top: 20px; }
@media (max-width: 750px) {
  .strategy-layout { grid-template-columns: 1fr; gap: 16px; }
  .mortgage-results .milestones { grid-template-columns: 1fr; }
  .mortgage-results .milestones > div + div { border-left: 0; border-top: 1px solid #ccd9bc; padding: 16px 0 0; }
}

/* Approved mortgage timeline layout. */
.mortgage-chart .milestones { background: transparent; border: 0; padding: 0; gap: 12px; margin: 14px 0 22px; }
.mortgage-chart .milestones > div { background: #e8efdb; border: 0; border-radius: 10px; padding: 18px; min-width: 0; }
.mortgage-chart .milestones > div + div { border: 0; padding: 18px; }
.mortgage-chart .milestones strong { font-size: clamp(19px, 1.8vw, 27px); }
.mortgage-chart .milestones .eyebrow { font-size: 10px; }
.interest-comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; padding: 18px; border-radius: 9px; background: #f0f4eb; }
.interest-comparison span { display: block; font-size: 12px; line-height: 1.5; }
.interest-comparison strong { display: block; font-size: 25px; margin-top: 6px; }
.comparison-details { border-top: 1px solid var(--line); margin-top: 12px; padding-top: 5px; font-size: 12px; line-height: 1.7; }
.mortgage-chart .view-controls { margin-top: 16px; margin-bottom: 20px; }
.estimate-notice { margin-top: 24px; }
.estimate-notice h3 { font-size: 13px; }
.brand-icon { animation: sidelo-arrive 650ms ease-out; transition: transform 200ms ease; }
.brand:hover .brand-icon, .brand:focus-visible .brand-icon { transform: rotate(-6deg) translateY(-2px); }
@keyframes sidelo-arrive { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 750px) {
  .mortgage-chart .milestones { gap: 10px; }
  .mortgage-chart .milestones > div + div { padding: 18px; }
}
@media (max-width: 600px) {
  .interest-comparison { grid-template-columns: 1fr; gap: 16px; }
  .interest-comparison > div + div { border-top: 1px solid var(--line); padding-top: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .brand-icon { animation: none; transition: none; }
  .brand:hover .brand-icon, .brand:focus-visible .brand-icon { transform: none; }
}

.loan-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 600px) { .loan-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
