/* Haven View Optics — forms.css (generated from the authored stylesheet) */
.form{display:grid;grid-template-columns:1fr 1fr;gap:30px 40px}
.form .full{grid-column:1/-1}
.field label,.field legend{display:block;font:700 11.5px/1 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.field .req{color:var(--secondary)}
.field input,.field select,.field textarea{width:100%;font:17px/1.4 var(--font-sans);color:var(--primary);background:transparent;border:0;border-bottom:1px solid var(--primary);border-radius:0;padding:10px 0;min-height:48px;transition:border-color .3s}
.field select{appearance:none;-webkit-appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231C1B19' stroke-width='1.4'/%3E%3C/svg%3E") right 4px center/12px 8px no-repeat;padding-right:28px}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom:2px solid var(--primary);padding-bottom:9px}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{box-shadow:0 6px 0 -4px var(--secondary)}
.field [aria-invalid="true"]{border-bottom-color:#9B2C1F}
.field .err{display:block;min-height:1.2em;margin-top:6px;font-size:13.5px;color:#9B2C1F}
.field .hint{display:block;margin-top:6px;font-size:13.5px;color:var(--muted)}
.check{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;line-height:1.5}
.check input{width:20px;height:20px;min-height:0;margin-top:2px;accent-color:var(--primary);flex:none}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-status{margin-top:14px;font-size:15px;min-height:1.4em}
.form-status.is-error{color:#9B2C1F}
.form-success{border:1px solid var(--primary);padding:clamp(28px,4vw,48px);display:none}
.form-success.is-visible{display:block;animation:fadeUp .7s var(--ease) both}
.form-success h3{font-size:var(--fs-md);margin-bottom:12px}
.form button[disabled]{opacity:.55;cursor:wait}
@media (max-width:640px){
  .form{grid-template-columns:1fr}
}
.field label.check{font:400 14.5px/1.55 var(--font-sans);letter-spacing:0;text-transform:none;color:var(--text);margin:0}
