/* Contact forms are scoped to the two campaign landing pages. */
.hero:has(.lp-contact-card){align-items:center;gap:55px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.lp-contact-card{width:100%;min-width:0;background:linear-gradient(145deg,#EFF8F3,#FFFFFF);border:1px solid #D5E5DC;border-radius:20px;padding:32px;box-shadow:0 18px 50px #183D320A;scroll-margin-top:25px}
.lp-contact-card h2{font-size:29px;line-height:1.15;margin-bottom:25px;max-width:16ch}.lp-contact-card .eyebrow{font-size:11px;margin-bottom:12px}
.lp-contact-form label{display:block;font-size:14px;font-weight:600;color:#183D32;margin:0 0 7px}.lp-contact-form label span{font-weight:400;color:#5B6B63}.lp-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.lp-contact-form input,.lp-contact-form textarea{display:block;width:100%;min-width:0;box-sizing:border-box;background:#FFF;border:1px solid #B9CEC2;border-radius:8px;padding:11px 12px;margin:0 0 17px;font:16px/1.4 'Source Sans 3',Arial,sans-serif;color:#183D32}.lp-contact-form textarea{resize:vertical;min-height:95px}.lp-contact-form .button{width:100%;margin-top:2px}.lp-contact-form .button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.lp-contact-status{font-size:12px;line-height:1.5;color:#5B6B63;margin:14px 0 0}.lp-contact-status a{color:#20745E;text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.hero:has(.lp-contact-card){grid-template-columns:1fr;gap:32px}.lp-contact-card{max-width:600px;margin:auto}.lp-contact-card h2{max-width:none}}
@media(max-width:480px){.lp-contact-card{padding:24px}.lp-contact-fields{grid-template-columns:1fr;gap:0}.lp-contact-card h2{font-size:26px}}
.lp-contact-form select{display:block;width:100%;min-width:0;box-sizing:border-box;border:1px solid #B9CEC2;border-radius:8px;background:#FBFDFC;color:#183D32;padding:11px 12px;margin:0 0 17px;font:16px/1.4 'Source Sans 3',Arial,sans-serif;min-height:46px}.lp-contact-form select:focus{border-color:#20745E;box-shadow:0 0 0 3px #D3F3E3;outline:0}.lp-contact-fields>div{min-width:0}
/* Align paired controls even when a label wraps. */
.lp-contact-fields>div{display:flex;flex-direction:column}.lp-contact-fields>div>label{flex:1}.lp-contact-fields>div>input,.lp-contact-fields>div>select{height:46px;flex:none}
/* Honeypot for bots, and the sending state. */
.lp-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lp-contact-status:empty{display:none}.lp-contact-status{text-align:center;font-size:14px;color:#20745E;font-weight:600}.lp-contact-status.is-error{color:#A23B2A}
.lp-contact-form.is-sent .lp-contact-fields,.lp-contact-form.is-sent>label,.lp-contact-form.is-sent>input,.lp-contact-form.is-sent>textarea,.lp-contact-form.is-sent>button{display:none}
.lp-contact-form.is-sent .lp-contact-status{font-size:17px;line-height:1.5;padding:18px;border-radius:12px;background:#EFF8F3;margin:0}
/* Data-use notice under the submit button. */
.lp-contact-legal{font-size:12px;line-height:1.5;color:#5B6B63;margin:12px 0 0;text-align:center}.lp-contact-legal a{color:#20745E;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
