.form{display:grid;gap:1.15rem}
.form__row{display:grid;gap:1.15rem}
@media(min-width:640px){.form__row--2{grid-template-columns:1fr 1fr}}
.form__field{display:grid;gap:.4rem}
.form__label{font-weight:600;font-size:.95rem;color:var(--rjw-ink)}
.form__label .req{color:var(--rjw-warn);margin-left:.15em}
.form__control{width:100%;padding:.85rem 1rem;background:#fff;border:1.5px solid var(--rjw-line-strong);border-radius:var(--rjw-radius);font:inherit;color:var(--rjw-ink);transition:border-color .18s ease,box-shadow .18s ease}
.form__control:focus{outline:none;border-color:var(--rjw-accent);box-shadow:0 0 0 4px rgba(47,79,58,.15)}
textarea.form__control{min-height:150px;resize:vertical}
select.form__control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%235a5e59'%3E%3Cpath d='M5 8l5 5 5-5' stroke='%235a5e59' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:16px;padding-right:2.5rem}
.form__hp{position:absolute;left:-9999px;top:-9999px}
.form__submit{justify-self:start;margin-top:.5rem}
.form__notice{padding:1rem 1.15rem;border-radius:var(--rjw-radius);font-size:.95rem}
.form__notice--ok{background:#e8f0ea;color:#1e3a26;border:1px solid #b6ceba}
.form__notice--err{background:#fce9e0;color:#7a2f11;border:1px solid #ecc4b0}
