/* Mortgage comparison: shared row labels, aligned values and a paper-friendly view. */
#simulation .comparison-controls{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center}
#simulation .comparison-controls>p{flex-basis:100%;order:-1;margin:0;max-width:720px;font-size:16px}
#simulation .term-control{display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap}
#simulation .term-control label{font-size:15px;font-weight:600}
#simulation .term-control select{min-height:48px;min-width:110px;padding:8px 14px;font-size:16px;border:1px solid var(--navy);background:transparent;color:var(--navy)}
#simulation .term-control small{flex-basis:100%;font-size:13px;line-height:1.5}
#simulation .scenario-layout{gap:24px}
#simulation .shared-calculator-options{margin:24px 0}
#simulation .shared-calculator-options .calc-mode{width:min(100%,540px);margin:0}
#simulation .shared-calculator-options .insurance-assumptions{margin-top:18px}
#simulation .calc-fields>h3{font-family:'Switzer',sans-serif;font-size:20px;font-weight:500;margin:0 0 24px}
#simulation .calc-fields .inputs{gap:18px 14px}
#simulation .calc-fields input,#simulation .calc-fields select{min-height:50px;font-size:17px;padding:10px 12px}
#simulation .calc-fields .eligibility-row input{min-height:22px;padding:0}
#simulation #copy-scenario{display:block;margin:18px 0 0 auto}
#simulation.is-comparing .calc-fields,#simulation .comparison-panel{padding:24px;border:1px solid var(--line);border-radius:4px;background:#fff}
#simulation .comparison-panel>p{min-height:0;margin:0 0 20px}
#simulation .comparison-panel input,#simulation .comparison-panel select{width:100%}
#simulation .comparison-table-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:32px 0 18px}
#simulation .comparison-table-heading h3{font-family:'Zodiak',serif;font-size:26px;line-height:1.3;margin:0}
#simulation .comparison-table-heading button{flex-shrink:0;min-height:48px}
#simulation .comparison-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:16px;line-height:1.5;font-variant-numeric:tabular-nums}
#simulation .comparison-table caption.visually-hidden{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
#simulation .comparison-table thead th{background:var(--navy);color:#fff;padding:18px;text-align:right;font-weight:600}
#simulation .comparison-table thead th:first-child{width:44%;text-align:left}
#simulation .comparison-table td,#simulation .comparison-table tbody th{padding:14px 18px;border-bottom:1px solid var(--line)}
#simulation .comparison-table tbody th{text-align:left;font-weight:400}
#simulation .comparison-table td{text-align:right;overflow-wrap:anywhere}
#simulation .comparison-table td:last-child{background:#0b234705}
#simulation .comparison-table thead{position:sticky;top:var(--header,100px);z-index:2}
#simulation .comparison-table .comparison-group th{background:#e9e8e2;color:var(--navy);font-size:13px;font-weight:600;letter-spacing:.025em;padding:12px 18px}
#simulation .comparison-table .comparison-payment-row{background:var(--navy);color:#fff}
#simulation .comparison-payment-row td{font-size:24px;font-weight:600;color:#fff}
#simulation .comparison-payment-row th{color:#fff}
#simulation .comparison-table .comparison-balance-row{font-weight:600;background:#f1f0ea}
#simulation .comparison-savings{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0 8px;border:1px solid var(--line);padding:24px;background:#fff}
#simulation .comparison-savings p{font-size:15px;line-height:1.5;margin:0 0 10px}
#simulation .comparison-savings strong{display:block;font-size:30px;line-height:1.3;font-weight:500;font-variant-numeric:tabular-nums;color:#245748;overflow-wrap:anywhere}
#simulation .comparison-savings strong.negative{color:#8d3527}
#simulation .comparison-savings small{display:block;font-size:13px;line-height:1.6;margin-top:8px}
#simulation .comparison-sign-note{font-size:13px;margin:10px 0}
#simulation button:focus-visible,#simulation select:focus-visible{outline:3px solid #456aa4;outline-offset:4px}
@media(max-width:767px){
 #simulation .calc-fields .inputs{grid-template-columns:1fr}
 #simulation .comparison-controls>.button{width:auto}
 #simulation .term-control{width:100%}
 #simulation.is-comparing .calc-fields,#simulation .comparison-panel{padding:20px 16px}
 #simulation .comparison-table-heading{align-items:flex-start;flex-direction:column;gap:12px}
 #simulation .comparison-table-heading h3{font-size:23px}
 #simulation .comparison-table{font-size:16px}
 #simulation .comparison-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 #simulation .comparison-table thead th:first-child{display:none}
 #simulation .comparison-table thead th{width:auto;text-align:right;padding:14px 10px;font-size:15px}
 #simulation .comparison-table tbody th{grid-column:1/-1;border:0;padding:14px 10px 4px;font-size:14px}
 #simulation .comparison-table td{padding:5px 10px 14px}
 #simulation .comparison-table td:last-child{background:transparent}
 #simulation .comparison-table .comparison-group th{padding:12px 10px}
 #simulation .comparison-payment-row td{font-size:21px}
 #simulation .comparison-savings{grid-template-columns:1fr;padding:20px;gap:20px}
 #simulation .comparison-savings>div+div{border-top:1px solid var(--line);padding-top:18px}
 #simulation .comparison-savings strong{font-size:30px}
 #simulation #comparison-delta{font-size:16px}
}
@media(max-width:380px){
 #simulation .comparison-panel .inputs,#simulation .calc-fields .inputs{grid-template-columns:1fr}
}

#simulation .frequency-help{grid-column:1/-1;display:block;font-size:12px;font-weight:400;line-height:1.5;color:#526276;margin:0}

/* Compact, aligned mortgage controls. */
#simulation .comparison-controls{align-items:flex-start}
#simulation .duration-controls{display:grid;grid-template-columns:1fr 1fr;gap:18px;min-width:0;align-items:start}
#simulation .duration-controls fieldset{display:block;margin:0;padding:0;border:0;min-width:0}
#simulation .duration-controls legend{padding:0;font-size:14px;font-weight:500;line-height:1.5;margin-bottom:8px}
#simulation .duration-controls .segmented{display:grid;width:100%;min-width:0;margin:0}
#simulation .term-control .segmented{grid-template-columns:repeat(5,minmax(0,1fr))}
#simulation .amortization .segmented{grid-template-columns:repeat(4,minmax(0,1fr))}
#simulation .duration-controls button{min-width:0;min-height:48px;font-size:15px;padding:10px 4px;white-space:nowrap}
#simulation select option{color:var(--navy);font-style:normal}
#simulation .down-field{display:grid;gap:8px;min-width:0}
#simulation .down-field-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
#simulation .down-field-heading label{font-size:14px}
#simulation .down-unit{width:104px;flex:none}
#simulation .down-unit button{min-width:0;min-height:44px;padding:8px 16px;font-size:16px}
#simulation .down-equivalent,#simulation .term-help{font-size:12px;line-height:1.5;color:#526276;margin:0}
#simulation .single-result-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-bottom:12px}
#simulation .single-result-heading .eyebrow{margin:0;flex:1}
#simulation .single-report-actions{flex:none;margin:0}
#simulation .single-report-actions .button{width:auto;min-height:44px;padding:10px 14px;font-size:14px;justify-content:center;background:#f7f6f2;color:#0b2347;border-color:#f7f6f2}
#simulation .single-report-actions .button:hover,#simulation .single-report-actions .button:focus-visible{background:#dbe7f3;color:#0b2347;border-color:#dbe7f3}
@media(max-width:767px){
 #simulation .duration-controls{grid-template-columns:1fr;gap:16px}
 #simulation .shared-calculator-options .calc-mode{grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr)}
}

#simulation .purchase-fields{align-items:start}
#simulation .purchase-fields>label{align-content:start;grid-template-rows:46px 50px}
#simulation .purchase-fields>label>span{align-self:center}
#simulation .purchase-fields input{height:50px;min-height:50px;align-self:start}
