/* Contact form. Loaded only on the contact page. */

.ct{margin:26px 0 8px;max-width:640px}

.ct__note{margin:0 0 20px;padding:12px 16px;border-radius:var(--radius-card);
          border:1px solid;font-weight:600;line-height:1.5}
.ct__note--ok{background:#e9f4ee;border-color:#a8cdb8;color:#1d5637}
.ct__note--err{background:#fdeef0;border-color:#e6bcc4;color:#8c2438}

.ct__form{display:flex;flex-direction:column;gap:18px}
.ct__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:620px){.ct__row{grid-template-columns:1fr}}

.ct__field{display:flex;flex-direction:column;gap:6px;margin:0}
.ct__field label{font-weight:700;font-size:.94rem;color:var(--col-heading)}
.ct__req{color:var(--col-accent-text)}

.ct__field input,
.ct__field select,
.ct__field textarea{
  font:inherit;font-size:1rem;color:var(--col-text);
  background:var(--col-white);
  border:1.5px solid var(--col-border);border-radius:12px;
  padding:11px 13px;width:100%;
  transition:border-color .12s ease,box-shadow .12s ease}
.ct__field textarea{resize:vertical;min-height:150px;line-height:1.6}

.ct__field input:hover,
.ct__field select:hover,
.ct__field textarea:hover{border-color:var(--col-border-strong,var(--col-muted))}

.ct__field input:focus-visible,
.ct__field select:focus-visible,
.ct__field textarea:focus-visible{
  outline:none;border-color:var(--col-accent-solid);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--col-accent-solid) 26%,transparent)}

.ct__help{font-size:.86rem;color:var(--col-muted);line-height:1.5}

/* Honeypot: off-screen rather than display:none, which some bots skip. */
.ct__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.ct__send{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px}
.ct__legal{font-size:.84rem;color:var(--col-muted);line-height:1.5;max-width:44ch}
.ct__legal a{color:var(--col-accent-text);font-weight:600}

@media (prefers-reduced-motion:reduce){
  .ct__field input,.ct__field select,.ct__field textarea{transition:none}
}
