/* A single form on the contact section's existing dark olive surface. */
.contact-section .contact-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(40px,7vw,100px);align-items:start}
.contact-section .contact-bottom>div{min-width:0}
.contact-section .contact-bottom .email-link{font-size:clamp(18px,2.1vw,30px);gap:18px}
.contact-form{width:100%;min-width:0;color:#efeee8;font-family:Assistant,Arial,sans-serif;position:relative}
.contact-form .contact-form-heading{margin-bottom:23px}
.contact-form .contact-form-heading h3{font-size:25px;font-weight:500;letter-spacing:-.02em;line-height:1.4;margin:0 0 6px}
.contact-form .contact-form-heading p{font-size:16px;line-height:1.6;color:#b8c7a9;margin:0}
.contact-form .contact-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 17px}
.contact-form .contact-form-field{min-width:0}
.contact-form .contact-form-field label{display:block;font-size:15px;font-weight:500;line-height:1.5;margin-bottom:8px;color:#e1e8d9}
.contact-form .contact-form-field input,.contact-form .contact-form-field textarea{display:block;width:100%;min-width:0;max-width:100%;border:1px solid #a3ae99;border-radius:3px;background:#efeee8;color:#20271f;font-family:inherit;font-size:17px;font-weight:400;line-height:1.5;padding:12px 14px;transition:border-color .18s ease,background .18s ease;outline-offset:4px}
.contact-form .contact-form-field input{height:50px}
.contact-form .contact-form-field textarea{min-height:154px;resize:vertical}
.contact-form .contact-form-field input::placeholder,.contact-form .contact-form-field textarea::placeholder{color:#68705f;opacity:1}
.contact-form .contact-form-field input:focus-visible,.contact-form .contact-form-field textarea:focus-visible{outline:2px solid #c5ee72;border-color:#c5ee72}
.contact-form .contact-form-field [aria-invalid=true]{border-color:#df9a83;box-shadow:0 0 0 1px #df9a83}
.contact-form .contact-form-field input:disabled,.contact-form .contact-form-field textarea:disabled{opacity:.75;cursor:wait}
.contact-form .contact-form-message{grid-column:1/-1}
.contact-form p.contact-form-error{font-size:14px;line-height:1.5;color:#ffd1c1;margin:7px 0 0}
.contact-form .contact-form-trap{position:absolute;inset-inline-start:0;top:0;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;pointer-events:none}
.contact-form .contact-form-actions{display:flex;align-items:center;gap:20px;margin-top:22px}
.contact-form .contact-form-submit{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;flex-shrink:0;min-height:49px;padding:12px 20px;border:1px solid #c5ee72;border-radius:3px;background:#c5ee72;color:#20271f;font-family:inherit;font-size:17px;font-weight:600;line-height:1.4;transition:background .18s ease,border-color .18s ease}
.contact-form .contact-form-submit svg{width:23px;height:23px;flex-shrink:0}
.contact-form .contact-form-submit:hover:not(:disabled){background:#d8f2a3;border-color:#d8f2a3}
.contact-form .contact-form-submit:disabled{opacity:.65;cursor:wait}
.contact-form .contact-form-privacy{max-width:27ch;font-size:13px;line-height:1.6;color:#b8c7a9}
.contact-form p.contact-form-status{min-height:26px;margin:14px 0 0;font-size:16px;line-height:1.6;max-width:none;color:#cbd9bd}
.contact-form .contact-form-status[data-state=error]{color:#ffd1c1}
.contact-form .contact-form-status[data-state=success]{color:#d5eea9}
.contact-form p.contact-form-noscript{font-size:15px;line-height:1.7;color:#e1e8d9;margin:12px 0 0}
@media(max-width:1050px){.contact-section .contact-bottom{grid-template-columns:1fr;gap:42px}.contact-section .contact-bottom .email-link{font-size:clamp(18px,3.1vw,30px)}.contact-form{max-width:780px}}
@media(max-width:650px){.contact-form .contact-form-heading{margin-bottom:20px}.contact-form .contact-form-heading h3{font-size:24px}.contact-form .contact-form-fields{gap:18px;grid-template-columns:1fr}.contact-form .contact-form-field input,.contact-form .contact-form-field textarea{font-size:16px}.contact-form .contact-form-actions{gap:14px;flex-wrap:wrap}.contact-form .contact-form-privacy{max-width:100%;flex-basis:100%}.contact-form p.contact-form-status{font-size:15px}}
@media(prefers-reduced-motion:reduce){.contact-form .contact-form-field input,.contact-form .contact-form-field textarea,.contact-form .contact-form-submit{transition:none}}
