.rates-section .quote-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:clamp(40px,6vw,100px)}
.rates-section .quote-intro>p{max-width:400px}.rates-section .quote-form-grid{gap:20px 24px}
.rates-section .quote-field{min-width:0}.rates-section .quote-field label{font-weight:450;font-size:13px;letter-spacing:.01em}
.rates-section .quote-field input,.rates-section .quote-field select{min-height:54px;border-radius:0;box-sizing:border-box;font:inherit;font-size:16px}
.rates-section .quote-field small{display:block;font-size:12px;line-height:1.6;color:#375d70;margin-top:7px}
.rates-section .quote-field input[aria-invalid=true]{border-color:#923c30;outline-color:#923c30}
.rates-section .quote-actions{align-items:center;gap:20px;margin-top:25px}
.rates-section .quote-actions .btn{cursor:pointer;min-height:54px}.rates-section .quote-actions .btn:disabled{opacity:.65;cursor:wait}
.rates-section .quote-actions a{font-size:14px;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:5px}
.rates-section .rate-result{border-top:1px solid #9bb7c5;margin-top:32px;padding-top:24px;min-width:0}
.rates-section .result-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#3d6377}
.rates-section #estimateRange{display:block;font-size:clamp(25px,2.4vw,38px);line-height:1.25;letter-spacing:-.025em;font-weight:400;margin:10px 0 16px;overflow-wrap:anywhere}
.rates-section #estimateContext,.rates-section #baseEstimate{font-size:14px;line-height:1.7;max-width:none;margin:10px 0}
.rates-section #estimateBreakdown{margin:20px 0 14px;font-size:14px}.rates-section #estimateBreakdown>div{display:flex;gap:20px;justify-content:space-between;border-bottom:1px solid #c3d5dd;padding:9px 0;align-items:baseline}
.rates-section #estimateBreakdown dt{color:#3b6175}.rates-section #estimateBreakdown dd{margin:0;text-align:right;font-weight:450}
.rates-section #rateStatus{font-size:14px;line-height:1.65;color:#743d26;margin-top:12px}.rates-section #rateStatus:empty{display:none}
.rates-section #exchangeNote,.rates-section .rate-attribution{font-size:12px;line-height:1.7;color:#3b6175;margin:10px 0}
.rates-section .rate-attribution a{text-decoration:underline;text-underline-offset:3px}
.rates-section .rates-explained{margin-top:30px;border-top:1px solid #b2c9d4;padding-top:18px;max-width:430px}
.rates-section summary{cursor:pointer;min-height:44px;line-height:1.5;font-size:14px;color:#174765;padding-block:10px;list-style-position:outside;margin-left:17px}
.rates-section details p{font-size:13px;line-height:1.8;margin-block:14px;max-width:none}
.rates-section .rate-table-wrap{overflow:auto;max-width:100%;margin-top:14px;scrollbar-width:thin}
.rates-section .rate-table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.55;font-variant-numeric:tabular-nums}
.rates-section .rate-table caption{text-align:left;margin-bottom:14px;font-size:13px}.rates-section .rate-table th{font-weight:500;text-align:left}.rates-section .rate-table th,.rates-section .rate-table td{border-bottom:1px solid #b6cdd8;padding:12px 10px;min-width:80px}
.rates-section .rate-table tbody th{min-width:125px}.rates-section .rate-table td{text-align:right}.rates-section .rate-table td.is-match{background:#174765;color:#fff;font-weight:600}
.rates-section .rate-table-help{font-size:12px;line-height:1.7;margin-top:12px}.rates-section .rate-table-help span{display:block}
.rates-section :focus-visible{outline:2px solid #176486;outline-offset:4px}
@media(max-width:1050px){.rates-section .quote-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:40px}.rates-section .quote-layout h2{font-size:46px}}
@media(max-width:760px){.rates-section .quote-layout{display:flex;flex-direction:column;gap:36px}.rates-section .quote-layout h2{font-size:42px;margin-bottom:22px}.rates-section .quote-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 14px}.rates-section .quote-field label{font-size:12px;min-height:20px}.rates-section .quote-field input,.rates-section .quote-field select{padding:12px 10px}.rates-section .rates-explained{max-width:none}.rates-section #estimateRange{font-size:29px}.rates-section .quote-actions{gap:12px 20px}.rates-section .quote-actions .btn{font-size:14px;padding:15px 20px}.rates-section .rate-table{font-size:12px}}
@media(max-width:370px){.rates-section .quote-form-grid{grid-template-columns:1fr}.rates-section .quote-field label{min-height:0}.rates-section .quote-layout h2{font-size:37px}}
