.contact-form-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);gap:64px;align-items:start}
.contact-form-panel{background:var(--light);padding:38px;min-width:0}
.contact-form-panel h2{font-size:30px;margin-bottom:10px}
.form-required{font-size:13px;color:var(--muted);margin-bottom:27px}
.form-name-email{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-field{min-width:0;margin-bottom:23px}
.form-field label{display:block;font-size:15px;font-weight:650;margin-bottom:8px}
.form-field input,.form-field textarea,.form-field select{display:block;width:100%;max-width:100%;min-height:49px;padding:11px 13px;border:1px solid #a8bcbe;border-radius:0;background:white;color:var(--ink);font:inherit;font-size:16px;line-height:1.5}
.form-field select{padding-right:29px;cursor:pointer}
.form-field textarea{resize:vertical;min-height:170px}
.form-field input:hover,.form-field textarea:hover,.form-field select:hover{border-color:var(--cyan)}
.form-field input:focus-visible,.form-field textarea:focus-visible,.form-field select:focus-visible{border-color:var(--cyan);outline:2px solid var(--cyan);outline-offset:2px}
.form-hint{font-size:13px;line-height:1.6;color:var(--muted);margin:-1px 0 10px}
.form-handoff{font-size:14px;line-height:1.65;color:var(--muted);margin:3px 0 19px}
.form-submit{width:100%;justify-content:space-between;text-align:left;gap:15px}
.form-submit:disabled{opacity:.6;cursor:default;transform:none}
.form-status{font-size:14px;color:var(--ink);line-height:1.6;margin:18px 0 0}
.form-status:empty{display:none}
.form-noscript{font-size:15px;margin:20px 0 0}
.form-noscript a{text-decoration:underline;overflow-wrap:anywhere}
.contact-form-grid .contact-aside{padding-top:6px;min-width:0}
.direct-email{overflow-wrap:anywhere;font-size:16px;align-items:center}
.direct-email>span{flex:none}
.contact-remote{font-size:15px;margin-top:27px}
.contact-testing{margin-top:34px;padding-top:28px;border-top:1px solid var(--line)}
.contact-testing h3{font-size:23px;margin-bottom:16px}
.contact-testing p{font-size:16px;color:var(--muted);margin-bottom:9px}
.contact-testing .text-link{font-size:15px;gap:18px}
@media(max-width:1050px){.contact-form-grid{gap:36px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.form-name-email{grid-template-columns:1fr;gap:0}.contact-form-panel{padding:28px}}
@media(max-width:760px){.contact-form-grid{grid-template-columns:1fr;gap:43px}.contact-form-panel{padding:27px}.contact-form-panel h2{font-size:27px}.contact-form-grid .contact-aside{padding-top:0}.form-required{margin-bottom:24px}}
@media(max-width:390px){.contact-form-panel{padding:22px}.form-submit{font-size:15px;padding:13px 16px}.form-field input,.form-field textarea,.form-field select{padding-inline:10px}.direct-email{font-size:15px}}

/* Contact upgrade: clear next steps and optional delivery feedback. */
.contact-fields{padding:0;margin:0;border:0;min-width:0}
.form-choice-hint{margin:9px 0 0}
.form-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-submit>[data-submit-text]{font:inherit;line-height:1.4}
.form-email-fallback{font-size:14px;line-height:1.5;margin-top:13px;overflow-wrap:anywhere}
.form-email-fallback[hidden]{display:none}
.form-status[data-state="error"]{border-left:3px solid #9c503c;padding-left:13px}
.form-status[data-state="success"]{border-left:3px solid var(--cyan);padding-left:13px}
.contact-next{margin-bottom:37px;padding-bottom:29px;border-bottom:1px solid var(--line)}
.contact-next ol{list-style:none;display:grid;gap:23px}
.contact-next li{display:flex;gap:17px;align-items:flex-start}
.contact-next li>span{color:var(--cyan);font-size:13px;font-weight:650;line-height:1.6;padding-top:2px}
.contact-next strong{font-size:16px;font-weight:650;display:block;margin-bottom:5px;line-height:1.5}
.contact-next li p{font-size:15px;color:var(--muted);line-height:1.6;margin:0}
.contact-direct-title{font-size:23px;margin-bottom:17px}
.contact-form-grid .contact-aside>p{font-size:16px}
@media(max-width:760px){.contact-next{margin-bottom:30px;padding-bottom:28px}.contact-next ol{gap:20px}.contact-direct-title{font-size:23px}}

/* The flexible Turnstile widget has a documented minimum width of 300px. */
.form-security{margin:17px 0 20px;min-width:0}
.form-security[hidden],.form-test-banner[hidden],.form-challenge-retry[hidden]{display:none}
.form-challenge{width:max(100%,300px);margin-left:min(0px,calc((100% - 300px)/2));min-height:65px}
.form-challenge-status{font-size:13px;line-height:1.6;color:var(--muted);margin:10px 0 0}
.form-challenge-status:empty{display:none}
.form-challenge-retry{background:none;border:0;border-bottom:1px solid var(--cyan);padding:5px 0;margin-top:8px;color:var(--cyan);font-size:14px;text-align:left}
.form-test-banner{background:#e5efbe;border-left:3px solid #789328;padding:13px 15px;font-size:14px;font-weight:650;line-height:1.6;color:var(--ink);margin:16px 0 20px}

@media(max-width:390px){.contact-form-panel{width:calc(100% + 40px);margin-inline:-20px;padding:24px 20px}}
