/* Payment planner. Committed navy and orange. */
#payment-estimator{scroll-margin-top:132px}
.pay-est-section{background:#F4F6F9;border-top:1px solid #E3E9F1;border-bottom:1px solid #E3E9F1;padding:clamp(48px,6vw,80px) clamp(16px,4vw,48px);color:#13233B;font-family:'Instrument Sans',sans-serif}
.pay-est-section *{box-sizing:border-box}
.pay-est-wrap{max-width:1100px;margin:0 auto}
.pay-est-heading{max-width:68ch;margin:0 0 28px}
.pay-est-eyebrow{display:block;margin:0 0 10px;font-family:'Big Shoulders Display',sans-serif;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#F0731F;font-size:14px}
.pay-est-heading h2{margin:0 0 12px;font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(32px,4vw,48px);line-height:1;color:#13233B}
.pay-est-heading p{margin:0;color:#5A6B82;font-size:16.5px;line-height:1.6}
.pay-est{color:#13233B}
.pay-est-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:22px;align-items:start}
.pay-est-card,.pay-est-result{border-radius:16px;min-width:0}
.pay-est-card{background:#fff;border:1px solid #E3E9F1;padding:26px 24px 22px;box-shadow:0 16px 36px rgba(14,27,46,.08)}
.pay-est fieldset{border:0;margin:0 0 22px;padding:0;min-width:0}
.pay-est legend{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:18px;line-height:1.2;letter-spacing:.02em;text-transform:uppercase;padding:0;margin:0 0 10px;color:#13233B}
.pay-help{margin:0 0 12px;color:#5A6B82;font-size:14px;line-height:1.55}
.pay-error{margin:8px 0 0;color:#9B2C2C;font-size:14px;font-weight:700;line-height:1.45}
.pay-modes,.pay-stories,.pay-tiers{display:grid;gap:10px}
.pay-modes{grid-template-columns:1fr 1fr}
.pay-stories{grid-template-columns:repeat(3,minmax(0,1fr))}
.pay-garage-ask{margin-top:4px}
.pay-garage-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:280px}
.pay-garage-choice .pay-choice>span{align-items:center;font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:18px;text-transform:uppercase}
.pay-est-projects{display:grid;gap:10px;margin:16px 0 0}
.pay-est-project{padding:12px 14px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.06)}
.pay-est-project-label{margin:0 0 6px;font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#FF8A3D}
.pay-est-project-month{margin:0;font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:clamp(1.35rem,2.2vw,1.7rem);line-height:1.1;color:#FF8A3D}
.pay-est-project-cost{margin:6px 0 0;color:#C7D2E0;font-size:14px;line-height:1.4;font-weight:600}
.pay-est-combined{margin:12px 0 0;color:#F4F6F9;font-weight:700;font-size:15px;line-height:1.45}
.pay-tiers{grid-template-columns:repeat(3,minmax(0,1fr))}
.pay-choice{position:relative;display:block;margin:0;cursor:pointer}
.pay-choice input{position:absolute;width:1px;height:1px;margin:0;opacity:0}
.pay-choice>span{display:flex;flex-direction:column;justify-content:center;gap:3px;min-height:56px;height:100%;padding:12px 14px;border:1px solid #E3E9F1;border-radius:12px;background:#fff;color:#13233B;transition:border-color .15s,background .15s,box-shadow .15s}
.pay-choice strong{font-family:'Big Shoulders Display',sans-serif;font-size:16px;line-height:1.25;letter-spacing:.02em;text-transform:uppercase}
.pay-choice small{font-size:13px;line-height:1.35;color:#5A6B82;font-weight:500;text-transform:none;letter-spacing:0;font-family:'Instrument Sans',sans-serif}
.pay-choice input:checked+span{border-color:#F0731F;background:#FFF8F3;box-shadow:inset 0 0 0 1px #F0731F}
.pay-choice input:checked+span small{color:#C45C26}
.pay-est .pay-choice input:focus-visible{outline:none}
.pay-choice input:focus-visible+span{outline:3px solid #F0731F;outline-offset:3px}
.pay-est .pay-affix input:focus-visible{outline:none}
.pay-choice:hover>span{border-color:#F0731F}
.pay-story>span{align-items:center;font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:22px}
.pay-tier-name{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:17px;letter-spacing:.02em;text-transform:uppercase}
.pay-tier-rate{font-weight:700;font-size:14px;line-height:1.35;color:#13233B}
.pay-tier-meta{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#5A6B82;font-weight:700}
.pay-choice input:checked+span .pay-tier-meta{color:#C45C26}
.pay-field{margin:0 0 22px}
.pay-label{display:block;margin:0 0 8px;font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:18px;letter-spacing:.02em;text-transform:uppercase;color:#13233B}
.pay-affix{display:flex;align-items:center;min-height:52px;border:1.5px solid #E3E9F1;border-radius:12px;background:#fff}
.pay-affix span{padding-left:14px;font-family:'Big Shoulders Display',sans-serif;font-weight:800;color:#F0731F;font-size:20px}
.pay-affix .pay-suffix{padding:0 14px 0 0;color:#5A6B82;font-size:14px;font-weight:700;font-family:'Instrument Sans',sans-serif}
.pay-affix input{border:0;background:transparent;min-height:50px;flex:1;width:100%;padding:12px;font-size:16px;font-weight:600;color:#13233B;font-family:'Instrument Sans',sans-serif}
.pay-affix input:focus{outline:none}
.pay-affix:focus-within{outline:3px solid #F0731F;outline-offset:3px}
.pay-example{display:inline-flex;align-items:center;min-height:44px;margin-top:4px;padding:8px 0;border:0;background:none;color:#D95F0E;font-family:'Instrument Sans',sans-serif;font-weight:700;font-size:15px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.pay-example:hover{color:#F0731F}
.pay-example:focus-visible{outline:3px solid #F0731F;outline-offset:3px}
.pay-est-result{position:sticky;top:128px;background:#0E1B2E;color:#F4F6F9;padding:26px 24px 22px;box-shadow:0 18px 40px rgba(10,21,36,.28)}
.pay-est-badge{display:inline-block;margin:0 0 16px;padding:6px 10px;border-radius:999px;background:#F0731F;color:#fff;font-family:'Big Shoulders Display',sans-serif;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.pay-est-kicker{margin:0 0 8px;color:#FF8A3D;font-family:'Big Shoulders Display',sans-serif;font-size:15px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.pay-est-range{margin:0;font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:clamp(2.2rem,4.6vw,3.4rem);line-height:1.05;letter-spacing:.01em;color:#FF8A3D;text-wrap:balance}
.pay-est-range.is-empty{color:#C7D2E0;font-size:clamp(1.25rem,2.4vw,1.6rem);letter-spacing:0;line-height:1.35;font-family:'Instrument Sans',sans-serif;font-weight:600;text-transform:none}
.pay-est-per,.pay-est-term,.pay-est-tier,.pay-est-explain{margin:10px 0 0;color:#C7D2E0;font-size:15px;line-height:1.55}
.pay-est-result:not(.is-ready) .pay-est-per{display:none}
.pay-est-math{margin:18px 0 0;padding-top:6px;border-top:1px solid rgba(255,255,255,.14)}
.pay-est-math div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:14px;line-height:1.4}
.pay-est-math dt{color:#8FA1B8;font-weight:600}
.pay-est-math dd{margin:0;font-weight:800;text-align:right;color:#fff}
.pay-est-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pay-est-foot{margin-top:22px}
.pay-est-notes{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.pay-est-notes li{padding:12px 14px;background:#fff;border:1px solid #E3E9F1;border-radius:12px;font-size:14px;line-height:1.55;color:#3D4E66}
.pay-est-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.pay-est-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 22px;border-radius:12px;font-weight:700;font-size:16px;text-decoration:none;font-family:'Instrument Sans',sans-serif}
.pay-est-btn-primary{background:#F0731F;color:#fff;box-shadow:0 6px 18px rgba(240,115,31,.35)}
.pay-est-btn-primary:hover{background:#FF8A3D;color:#fff}
.pay-est-btn-outline{border:1.5px solid #0E1B2E;color:#0E1B2E;background:#fff}
.pay-est-btn-outline:hover{border-color:#F0731F;color:#D95F0E}
.pay-est-more{margin:14px 0 0;font-size:14px}
.pay-est-more a{color:#D95F0E;font-weight:700}
.pay-est-more a:hover{color:#F0731F}
@media(max-width:900px){
  .pay-est-grid{grid-template-columns:1fr}
  .pay-est-result{position:static}
}
@media(max-width:640px){
  .pay-est-section{padding:28px 16px 36px}
  .pay-est-heading{margin-bottom:16px}
  .pay-est-heading h2{font-size:clamp(28px,8vw,36px)}
  .pay-est-heading p{font-size:15px}
  .pay-est-card,.pay-est-result{padding:16px 14px 14px}
  .pay-est fieldset{margin-bottom:14px}
  .pay-est legend,.pay-label{font-size:15px;margin-bottom:8px}
  .pay-help{margin-bottom:8px;font-size:13px}
  .pay-field{margin-bottom:14px}
  .pay-modes,.pay-stories,.pay-tiers,.pay-garage-choice{gap:8px}
  .pay-modes{grid-template-columns:1fr 1fr}
  .pay-stories{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pay-tiers{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pay-garage-choice{max-width:none;grid-template-columns:1fr 1fr}
  .pay-modes .pay-choice small{display:none}
  .pay-choice>span{min-height:44px;padding:8px 8px;border-radius:10px;gap:2px;text-align:center;align-items:center}
  .pay-choice strong{font-size:13px;line-height:1.15}
  .pay-story>span{font-size:18px}
  .pay-tier-name{font-size:13px}
  .pay-tier-rate{font-size:11px}
  .pay-tier-meta{display:none}
  .pay-affix{min-height:44px}
  .pay-affix input{min-height:42px;padding:8px 10px}
  .pay-est-range{font-size:clamp(1.8rem,8vw,2.5rem)}
  .pay-est-math div{align-items:flex-start;flex-direction:column;gap:4px}
  .pay-est-math dd{text-align:left}
  .pay-est-actions .pay-est-btn{width:100%}
  .pay-est-quote{width:100%}
  .pay-quote-modal{padding:10px;align-items:stretch}
  .pay-quote-dialog{display:flex;flex-direction:column;max-height:calc(100dvh - 20px);overflow:hidden;padding:14px 14px 12px;border-radius:16px}
  .pay-quote-dialog h3{font-size:24px}
  .pay-quote-lead{margin-bottom:10px;font-size:14px}
  .pay-quote-form{gap:8px;min-height:0;overflow:auto}
  .pay-quote-form input{padding:10px 12px}
  .pay-quote-fine{font-size:11.5px}
  .pay-quote-submit{position:sticky;bottom:0;padding:14px;background:#F0731F;box-shadow:0 -10px 16px #fff,0 8px 24px rgba(240,115,31,.35)}
}
.pay-est-quote{display:inline-flex;align-items:center;justify-content:center;margin-top:16px;min-height:48px;padding:14px 22px;border:0;border-radius:12px;background:#F0731F;color:#fff;font-family:'Instrument Sans',sans-serif;font-weight:700;font-size:16px;cursor:pointer;box-shadow:0 6px 18px rgba(240,115,31,.35)}
.pay-est-quote:hover{background:#FF8A3D}
.pay-est-quote:focus-visible{outline:3px solid #fff;outline-offset:3px}
.pay-quote-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px}
.pay-quote-modal[hidden]{display:none}
.pay-quote-backdrop{position:absolute;inset:0;z-index:1;background:rgba(10,21,36,.72)}
.pay-quote-dialog{position:relative;z-index:2;width:min(480px,100%);max-height:min(92vh,720px);overflow:auto;background:#fff;color:#13233B;border-radius:18px;padding:28px 24px 24px;box-shadow:0 24px 60px rgba(6,14,26,.45);border-top:4px solid #F0731F}
.pay-quote-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 8px}
.pay-quote-x{position:static;flex:0 0 auto;min-height:44px;padding:0 14px;border:0;border-radius:10px;background:#F4F6F9;color:#13233B;font-family:'Instrument Sans',sans-serif;font-weight:700;font-size:14px;cursor:pointer}
.pay-quote-x:hover{background:#FFF3E9;color:#D95F0E}
.pay-quote-x:focus-visible{outline:3px solid #F0731F;outline-offset:2px}
.pay-quote-dialog h3{margin:4px 0 0;font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:28px;line-height:1;color:#13233B}
.pay-quote-lead{margin:0 0 18px;color:#5A6B82;font-size:15px;line-height:1.55}
.pay-quote-form{display:grid;gap:14px}
.pay-quote-form label{display:grid;gap:6px;font-weight:700;font-size:14px;color:#13233B}
.pay-quote-form input{border:1.5px solid #E3E9F1;border-radius:10px;padding:14px 16px;font-size:16px;font-family:'Instrument Sans',sans-serif;font-weight:500;color:#13233B;width:100%;background:#fff}
.pay-quote-form input:focus{outline:3px solid #F0731F;outline-offset:2px;border-color:#F0731F}
.pay-quote-error{margin:0;color:#9B2C2C;font-weight:700;font-size:14px;line-height:1.45}
.pay-quote-fine{margin:0;color:#5A6B82;font-size:12.5px;line-height:1.5;font-weight:500}
.pay-quote-submit{background:#F0731F;color:#fff;border:0;border-radius:12px;padding:16px;font-weight:700;font-size:16.5px;font-family:'Instrument Sans',sans-serif;cursor:pointer;box-shadow:0 8px 24px rgba(240,115,31,.35)}
.pay-quote-submit:hover{background:#FF8A3D}
.pay-quote-submit:focus-visible{outline:3px solid #0E1B2E;outline-offset:3px}
