#quote .customer-planner{padding:32px;align-self:start}
#quote .planner-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;color:#454c48;font:750 11px/1.4 monospace;letter-spacing:.1em}
#quote .planner-count{color:#0c4352;white-space:nowrap}
#quote .planner-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:20px 0 9px;padding:0;list-style:none}
#quote .planner-progress li{position:relative;padding-top:26px;color:#5d655f;font-size:10px;font-weight:750;line-height:1.3}
#quote .planner-progress li::before{content:"";position:absolute;top:0;left:0;width:14px;height:14px;border:1px solid #7c8981;border-radius:50%;background:#fff}
#quote .planner-progress li[aria-current="step"]{color:#0c4352}
#quote .planner-progress li[aria-current="step"]::before{border:5px solid #0c4352}
#quote .planner-progress li.is-complete::before{content:"✓";display:grid;place-items:center;border-color:#c99e55;background:#c99e55;color:#172d31;font-size:10px}
#quote .planner-meter{display:block;width:100%;height:5px;margin:0 0 28px;border:0;background:#e6e4dd;accent-color:#c99e55}
#quote .planner-meter::-webkit-progress-bar{background:#e6e4dd}
#quote .planner-meter::-webkit-progress-value{background:#c99e55}
#quote .planner-meter::-moz-progress-bar{background:#c99e55}
#quote .planner-step{min-width:0;margin:0;padding:0;border:0;animation:planner-enter .2s ease-out both}
#quote .planner-step legend{padding:0;color:#202824;font-size:29px;font-weight:700;letter-spacing:-.03em;text-wrap:balance}
#quote .planner-help{max-width:46ch;margin:10px 0 22px;color:#3d4841;font-size:14px;line-height:1.6}
#quote .planner-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 15px}
#quote .planner-fields .full{grid-column:1/-1}
#quote .planner-fields label,#quote .planner-notes{display:block;color:#202824;font-size:13px;font-weight:750}
#quote .planner-fields input,#quote .planner-fields select,#quote .planner-notes textarea{display:block;width:100%;min-height:56px;margin-top:8px;padding:14px;border:1px solid #98a79e;border-radius:0;background:#fff;color:#202824;font:inherit;font-size:16px;line-height:1.4}
#quote .planner-fields input::placeholder,#quote .planner-notes textarea::placeholder{color:#555e58;opacity:1}
#quote .planner-fields input:focus,#quote .planner-fields select:focus,#quote .planner-notes textarea:focus{outline:3px solid #c99e55;outline-offset:2px}
#quote .planner-footnote{margin:16px 0 0;color:#3d4841;font-size:12px;line-height:1.5}
#quote .planner-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#quote .planner-choice{position:relative;display:flex!important;align-items:center;gap:13px;min-height:76px;padding:16px;border:2px solid #aab7af;background:#fff;color:#202824;font-size:14px!important;font-weight:750!important;line-height:1.35;cursor:pointer;transition:border-color .16s,background-color .16s,box-shadow .16s,transform .12s}
#quote .planner-choice:hover{border-color:#0c4352;background:#f1f6f4;box-shadow:0 4px 14px #0c43521c}
#quote .planner-choice:active{transform:scale(.99)}
#quote .planner-choice:focus-within{outline:3px solid #c99e55;outline-offset:2px}
#quote .planner-choice:has(input:checked){border-color:#0c4352;background:#e8f1ef;box-shadow:inset 5px 0 #c99e55}
#quote .planner-choice:has(input:checked)::after{content:"✓";display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;margin-left:auto;border-radius:50%;background:#0c4352;color:#fff;font-size:15px;font-weight:800}
#quote .planner-choice input{flex:0 0 auto;width:22px;height:22px;min-height:22px;margin:0;accent-color:#0c4352}
#quote .planner-brand-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
#quote .planner-brand-card{position:relative;display:grid!important;place-items:center;min-height:66px;padding:10px;border:1px solid #9aaba2;background:#fff;color:#18353b;font-size:15px!important;font-weight:800!important;letter-spacing:.01em;text-align:center;cursor:pointer;transition:background-color .15s,border-color .15s,transform .12s}
#quote .planner-brand-card:hover{border-color:#0c4352;background:#f1f6f4}
#quote .planner-brand-card:active{transform:scale(.98)}
#quote .planner-brand-card:focus-within{outline:3px solid #c99e55;outline-offset:2px}
#quote .planner-brand-card:has(input:checked){border-color:#0c4352;background:#e8f1ef;box-shadow:inset 0 -4px #c99e55}
#quote .planner-brand-card input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
#quote .planner-other-make{grid-column:1/-1;display:grid!important;gap:8px;margin-top:4px;color:#34433c;font-size:12px!important;font-weight:700!important}
#quote .planner-other-make select,#quote .planner-model-field select{width:100%;min-height:54px;padding:12px;border:1px solid #98a79e;border-radius:0;background:#fff;color:#202824;font:inherit;font-size:16px}
#quote .planner-other-make select:focus,#quote .planner-model-field select:focus{outline:3px solid #c99e55;outline-offset:2px}
#quote .planner-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#quote .planner-model-field{display:grid;gap:8px;max-width:420px;color:#202824;font-size:13px;font-weight:750}
#quote .planner-choice small{display:block;margin-top:5px;color:#3e4b44;font-size:11px;font-weight:500;line-height:1.4}
#quote .planner-selection{display:inline-flex;align-items:center;min-height:32px;margin:-6px 0 13px;padding:6px 11px;border-radius:20px;background:#eaf1ef;color:#0c4352;font-size:12px;font-weight:750}
#quote .planner-caveat{display:grid;gap:6px;margin-top:20px;padding:15px 17px;border-left:4px solid #c99e55;background:#f7f4ec;color:#303832;font-size:12px;line-height:1.6}
#quote .planner-caveat strong{color:#0c4352;font-size:12px}
#quote .planner-review{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 20px}
#quote .planner-review div{padding:11px 13px;border-left:3px solid #c99e55;background:#f7f4ec;font-size:12px;line-height:1.45}
#quote .planner-review dt{color:#414c45;font-size:10px;font-weight:700}
#quote .planner-review dd{margin:3px 0 0;overflow-wrap:anywhere;color:#202824;font-weight:700}
#quote .planner-notes{margin-top:17px}
#quote .planner-notes span{color:#505b54;font-size:11px;font-weight:500}
#quote .planner-notes textarea{min-height:72px;resize:vertical}
#quote .planner-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:26px}
#quote .planner-actions .button{width:auto;min-width:210px;min-height:60px;margin:0;font-size:15px;font-weight:800}
#quote .planner-back{min-height:52px;padding:12px 16px;border:1px solid #0c4352;background:#fff;color:#0c4352;font-size:14px;font-weight:750;cursor:pointer}
#quote .planner-actions [hidden]{display:none!important}
#quote .form-status{min-height:1.5em;margin:14px 0 0;font-size:13px;font-weight:700;line-height:1.5}
#quote .form-status[data-state="error"]{color:#a33029}
#quote .form-status[data-state="success"]{color:#176a42}
#quote .planner-submit:disabled{cursor:wait;opacity:.75}
#quote .form-disclaimer{margin:16px 0 0;color:#414b45;font-size:11px;line-height:1.55}
@keyframes planner-enter{from{opacity:.55;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){
  #quote .customer-planner{padding:24px 20px}
  #quote .planner-step legend{font-size:25px}
  #quote .planner-progress{gap:5px}
  #quote .planner-progress li{font-size:9px}
  #quote .planner-fields,#quote .planner-choice-grid,#quote .planner-review{grid-template-columns:1fr}
  #quote .planner-brand-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  #quote .planner-brand-card{min-height:62px;font-size:14px!important}
  #quote .planner-fields .full{grid-column:auto}
  #quote .planner-choice{min-height:70px;padding:14px;font-size:14px!important}
  #quote .planner-actions{align-items:stretch}
  #quote .planner-actions .button{min-width:0;flex:1}
}
@media(prefers-reduced-motion:reduce){#quote .planner-choice{transition:none}#quote .planner-step{animation:none}}
