.contact-with-form {grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:7%;align-items:start}
.contact-intro {padding-top:12px}
.contact-form {min-width:0;padding:32px;background:var(--pale);border:1px solid var(--line);border-radius:16px}
.contact-form h3 {font:600 24px/1.6 var(--serif);letter-spacing:.02em;margin:0 0 12px}
.form-required-note {font-size:13px;line-height:1.9;color:var(--muted);margin:0 0 28px}
.form-field {margin-top:24px}
.form-field>label {display:flex;align-items:center;gap:10px;font-size:15px;line-height:1.8;font-weight:600;margin-bottom:10px}
.field-required,.field-optional {display:inline-block;font:500 11px/1.5 var(--sans);letter-spacing:.02em;padding:3px 7px;flex-shrink:0;border-radius:4px}
.field-required {color:#a14316;background:#faeade}
.field-optional {color:var(--muted);background:#e6ede8}
.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea {
  display:block;
  box-sizing:border-box;
  width:100%;
  border:1px solid #718d7e;
  border-radius:8px;
  background:var(--paper);
  color:var(--ink);
  font:400 16px/1.7 var(--sans);
  padding:13px 14px;
  min-height:52px;
}
.contact-form textarea {resize:vertical;min-height:180px}
.contact-form select {padding-right:32px}
.contact-form input::placeholder,.contact-form textarea::placeholder {color:var(--muted);opacity:1}
.contact-form input:focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible {outline:2px solid var(--ink);outline-offset:3px;border-color:var(--ink)}
.contact-form [aria-invalid=true] {border-color:#a14319!important}
.field-help {font-size:13px;color:var(--muted);line-height:1.9;margin:8px 0 0;overflow-wrap:anywhere}
.contact-honeypot {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.form-consent {display:flex;align-items:flex-start;gap:12px;margin:26px 0}
.form-consent input {width:22px;height:22px;flex-shrink:0;margin:5px 0 0;accent-color:var(--ink)}
.form-consent label {min-height:48px;font-size:14px;line-height:1.9;cursor:pointer}
.form-consent a {color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.form-consent .field-required {margin-left:7px;vertical-align:middle}
.contact-captcha {border-top:1px solid var(--line);padding-top:24px;margin-top:26px}
.contact-captcha[hidden] {display:none}
.contact-captcha [data-captcha-widget] {margin:12px 0;min-height:54px}
.contact-captcha a {text-decoration:underline;text-underline-offset:3px}
/* The protection notice remains visible in the homepage footer. */
.grecaptcha-badge {visibility:hidden}
.footer-captcha-notice {font-size:10px;line-height:1.8;color:var(--muted);margin:12px 0 0}
.captcha-reload[hidden] {display:none}
.captcha-image {display:block;max-width:100%;height:auto;margin-bottom:14px;border:1px solid var(--line);border-radius:8px;background:#fff}
.captcha-answer-label {display:block;font-size:14px;line-height:1.9;margin-bottom:9px}
.captcha-reload {background:var(--paper);border:1px solid #718d7e;border-radius:6px;color:var(--ink);padding:11px 14px;min-height:48px;font:500 14px/1.7 var(--sans);cursor:pointer;margin-top:10px}
.captcha-reload:hover {background:#e8f0ea}
.contact-submit {width:100%;margin-top:28px;background:var(--ink);color:var(--paper);cursor:pointer;font:600 16px/1.7 var(--sans);min-height:56px;border-radius:8px;padding:16px 20px}
.contact-submit:hover:not(:disabled) {background:#123f36}
.contact-submit:disabled {opacity:.55;cursor:not-allowed}
.contact-form[aria-busy=true] .contact-submit {cursor:progress}
.contact-status {font-size:14px;line-height:1.9;white-space:pre-line;margin:16px 0 0;min-height:27px;color:var(--body);overflow-wrap:anywhere}
.contact-status[data-state=error] {color:#a14319}
.contact-status[data-state=success] {color:var(--ink);font-weight:600}
.support-contact {display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px;line-height:1.7;min-height:54px;border-bottom:1px solid #8da79c;padding:20px 0 16px}
.support-contact svg {width:19px;height:19px;flex-shrink:0}
@media(max-width:850px) {
  .contact-with-form {display:block}
  .contact-form {padding:28px;max-width:650px;margin-top:34px}
  .contact-form h3 {font-size:23px}
}
@media(max-width:700px) {
  .contact-with-form {display:block}
  .contact-form {margin-top:30px;padding:26px 20px;border-radius:14px}
  .contact-form h3 {font-size:22px}
  .form-field>label {font-size:15px}
  .form-consent label {font-size:14px}
  .contact-submit {font-size:16px}
  .contact-intro {padding-top:0}
}
@media(prefers-reduced-motion:reduce) {
  .contact-form input,.contact-form select,.contact-form textarea {transition:none}
}
