/* ==========================================================================
   EXECUTIVE PR V2 — forms.css
   ========================================================================== */
.form{display:grid;gap:1.1rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.form-grid.three{grid-template-columns:repeat(3,1fr)}
.field{display:flex;flex-direction:column;gap:.4rem}
.field.full{grid-column:1/-1}
.field label{font-family:var(--font-eyebrow);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-dim)}
.field label .req{color:var(--color-accent)}
.field input,.field select,.field textarea{font-family:var(--font-body);font-size:.95rem;color:var(--color-heading);
  background:var(--surface-alt);border:1px solid var(--hairline);border-radius:6px;padding:.8rem 1rem;width:100%;
  transition:border-color .25s,box-shadow .25s}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--color-accent);
  box-shadow:0 0 0 3px var(--color-focus)}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--color-error)}
.field .err{font-size:.74rem;color:var(--color-error);display:none}
.field.invalid .err{display:block}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23b08d57' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.4rem}
.checkbox{display:flex;align-items:flex-start;gap:.6rem;font-size:.86rem;color:var(--color-text)}
.checkbox input{width:auto;margin-top:.2rem;accent-color:var(--color-accent)}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-success{display:none;border:1px solid var(--color-success);background:rgba(120,160,90,.1);
  border-radius:8px;padding:1.2rem 1.4rem;color:var(--color-heading)}
.form-success.show{display:block;animation:fadeUp .5s ease}
.form-note{font-size:.78rem;color:var(--color-text-dim)}
.form-panel{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;
  padding:clamp(1.5rem,4vw,2.6rem);box-shadow:var(--card-shadow)}
.form-actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
@media (max-width:640px){.form-grid,.form-grid.three{grid-template-columns:1fr}}

/* rate-checker estimate readout */
.rate-readout{border:1px dashed var(--hairline-strong);border-radius:8px;padding:1.2rem;margin-top:1rem;
  font-family:var(--font-eyebrow);font-size:.78rem;letter-spacing:.06em;color:var(--color-text);background:var(--surface-alt)}
.rate-readout strong{color:var(--color-accent)}
