/* GENERATED by tools/build_quote_form.py from index.html (QUOTE-FORM-CSS block). Do not edit. */
  .quote-card { background:#fff; color:var(--text); border-radius:14px; padding:26px 26px 22px; box-shadow:0 18px 50px rgba(0,0,0,.35); }
  .quote-card h2 { font-size:1.25rem; color:var(--navy); margin-bottom:4px; }
  .quote-card .sub { font-size:.88rem; color:var(--muted); margin-bottom:16px; }
  .progress { display:flex; gap:6px; margin-bottom:6px; }
  .progress span { flex:1; height:5px; border-radius:3px; background:var(--line); transition:background .2s; }
  .progress span.on { background:var(--crimson); }
  .step-label { font-size:.78rem; color:var(--muted); margin-bottom:14px; }
  .step { display:none; }
  .step.active { display:block; }
  .step h3 { font-size:1.02rem; color:var(--navy); margin-bottom:12px; }
  .field { margin-bottom:12px; }
  .field label { display:block; font-size:.84rem; font-weight:600; color:var(--navy); margin-bottom:5px; }
  .field input, .field select { width:100%; padding:11px 12px; border:1.5px solid var(--line); border-radius:7px; font-size:.95rem; font-family:inherit; background:#fff; color:var(--text); }
  .field input:focus, .field select:focus { outline:none; border-color:var(--navy); box-shadow:0 0 0 3px rgba(0,34,70,.12); }
  .field-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .choices { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .choice { position:relative; }
  .choice input { position:absolute; opacity:0; pointer-events:none; }
  .choice span { display:block; padding:11px 12px; border:1.5px solid var(--line); border-radius:7px; font-size:.9rem; cursor:pointer; text-align:center; transition:border-color .15s, background .15s; }
  .choice input:checked + span { border-color:var(--crimson); background:var(--crimson-soft); color:var(--crimson); font-weight:600; }
  .choice input:focus-visible + span { box-shadow:0 0 0 3px rgba(0,34,70,.18); }
  .step-nav { display:flex; justify-content:space-between; gap:10px; margin-top:16px; }
  .step-nav .btn { flex:1; text-align:center; }
  .consent { display:flex; gap:10px; align-items:flex-start; font-size:.74rem; color:var(--muted); line-height:1.45; margin-top:6px; }
  .consent input { margin-top:3px; flex-shrink:0; width:16px; height:16px; }
  .hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
  .form-error { color:var(--crimson); font-size:.84rem; margin-top:8px; min-height:1em; }
  .form-privacy { font-size:.74rem; color:var(--muted); margin-top:12px; text-align:center; }
  .form-done { display:none; text-align:center; padding:10px 0; }
  .form-done.show { display:block; }
  .form-done h3 { color:var(--navy); margin-bottom:8px; }
  .form-done p { font-size:.92rem; color:var(--muted); margin-bottom:14px; }
  .btn-outline { background:#fff; color:var(--navy); border:1.5px solid var(--line); }
  .btn-outline:hover { border-color:var(--navy); }
  @media (max-width:720px) { .quote-card { padding:20px 16px; } .field-row { grid-template-columns:1fr; } }
  /* Agent pages: the form sits on a light section instead of the dark hero. */
  .quote-section .quote-card { max-width:560px; margin:0 auto; border:1px solid var(--line); box-shadow:0 10px 30px rgba(0,34,70,.10); }
  .quote-section .quote-card h2 { font-size:1.35rem; margin-bottom:4px; }
