.contact-form input[type="email"]{display:block;width:100%;min-height:48px;padding:10px 12px;border:1px solid #aec7cb;border-radius:9px;background:#fff;color:var(--ink);font:inherit}
.contact-form input[aria-invalid="true"],.contact-form .channel-trigger[aria-invalid="true"]{border-color:#a83b22}
.contact-form .field-help{margin:5px 0 0;color:#687b82;font-size:16px;line-height:1.4}
.contact-form .field-error{font-size:16px;line-height:1.4}
.contact-form .form-status{font-size:18px;line-height:1.5}
.contact-form .form-status:empty{display:none}
.contact-form input:disabled,.contact-form button:disabled{opacity:.7}
.contact-form button:disabled{cursor:wait}
.channel-field{display:grid;gap:8px;margin:20px 0 0}
.channel-field>span:first-child{font-size:18px;font-weight:900}
.channel-picker{position:relative}
.contact-form .channel-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;margin:0;padding:10px 12px;border:1px solid #aec7cb;border-radius:9px;background:#fff;color:var(--ink);text-align:left;font:inherit;transition:border-color .2s ease,background .2s ease}
.contact-form .channel-trigger:hover:not(:disabled){border-color:var(--brand-blue)}
.contact-form .channel-trigger[aria-expanded="true"]{border-color:var(--brand-blue)}
.contact-form input[type="text"],.contact-form input[type="tel"],.contact-form input[type="email"],.contact-form .channel-trigger{height:50px;min-height:50px;font-size:18px;line-height:1.4}
.channel-list{position:absolute;z-index:12;inset:100% 0 auto;margin:5px 0 0;padding:6px;border:1px solid #aec7cb;border-radius:9px;background:#fff;box-shadow:0 10px 28px #14384820;list-style:none}
.channel-list[hidden]{display:none}
.channel-list li{display:flex;align-items:center;min-height:48px;padding:10px 12px;border-radius:6px;color:var(--ink);font-size:18px;cursor:pointer;transition:background .2s ease}
.channel-list li:hover,.channel-list li:focus,.channel-list li[aria-selected="true"]{background:#edf6fb}
.form-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;pointer-events:none}
@media(max-width:767px){.contact-form .form-status,.contact-form input[type="text"],.contact-form input[type="tel"],.contact-form input[type="email"],.contact-form .channel-trigger,.channel-field>span:first-child,.channel-list li{font-size:17px}}
@media(prefers-reduced-motion:reduce){.contact-form .channel-trigger,.channel-list li{transition:none}}

.contact-form .consent-block{margin-top:24px;padding:16px;border:1px solid #eaa264;border-left:4px solid #df802d;border-radius:12px;background:#fff3e6;transition:background .2s ease,border-color .2s ease}
.contact-form .consent{align-items:flex-start;gap:12px;margin:0;font-size:18px;line-height:1.5;cursor:pointer}
.contact-form .consent input{appearance:none;display:grid;place-content:center;flex:0 0 24px;width:24px;height:24px;margin:1px 0 0;border:2px solid #bf651e;border-radius:5px;background:#fff;cursor:pointer;transition:border-color .2s ease,background .2s ease}
.contact-form .consent input::before{content:"";width:13px;height:10px;background:#fff;clip-path:polygon(0 43%,15% 25%,40% 55%,85% 0,100% 18%,40% 100%);transform:scale(0);transition:transform .15s ease}
.contact-form .consent input:checked{border-color:#12874a;background:#12874a}
.contact-form .consent input:checked::before{transform:scale(1)}
.contact-form .consent input:focus-visible{outline:3px solid #025e90;outline-offset:4px}
.contact-form .consent-block:has(input:checked){border-color:#99cbb0;border-left-color:#12874a;background:#eff9f3}
.contact-form .consent-block.has-error{border-color:#b33322;border-left-color:#b33322;background:#fff0ec}
.contact-form #consent-error:not(:empty){display:flex;align-items:flex-start;gap:9px;margin:12px 0 0;padding-top:12px;border-top:1px solid #dfaea5;color:#a52a1d;font-size:17px;font-weight:900;line-height:1.5}
.contact-form #consent-error:not(:empty)::before{content:"!";display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;margin-top:2px;border-radius:50%;background:#b33322;color:#fff;font-size:15px;line-height:1}
.contact-form .form-status.is-message{padding:14px 16px;border:1px solid #99cbb0;border-radius:10px;background:#eff9f3;color:#116738}
#request-success-dialog{position:fixed;inset:0;width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:auto;border:0;border-top:6px solid #12874a;border-radius:20px;background:#fff;color:#173e4b;box-shadow:0 24px 80px #082e4560}
#request-success-dialog[open]{animation:request-success-in .22s ease both}
#request-success-dialog::backdrop{background:#082e4566;animation:request-backdrop-in .22s ease both}
.request-success-content{position:relative;padding:36px 32px 32px;text-align:center}
.request-success-close{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#516b74;cursor:pointer;transition:background .2s ease}
.request-success-close:hover{background:#edf5f1}
.request-success-close svg{width:20px;height:20px}
.request-success-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 20px;border-radius:50%;background:#e6f7ec;color:#12874a}
.request-success-icon svg{width:32px;height:32px}
.request-success-content h2{margin:0 0 16px;color:#116738;font-size:28px;font-weight:900;line-height:1.2}
.request-success-content p{margin:0;font-size:18px;line-height:1.55}
.request-success-content .request-success-followup{margin-top:12px;color:#516b74}
.request-success-confirm{display:block;width:100%;min-height:48px;margin:26px 0 0;padding:12px 20px;border:0;border-radius:24px;background:#12874a;color:#fff;font:inherit;font-size:18px;font-weight:900;cursor:pointer;transition:background .2s ease}
.request-success-confirm:hover{background:#0e6b39}
.request-success-close:focus-visible,.request-success-confirm:focus-visible{outline:3px solid #025e90;outline-offset:4px}
#request-success-dialog.is-closing{animation:request-success-out .18s ease both}
#request-success-dialog.is-closing::backdrop{animation:request-backdrop-out .18s ease both}
@keyframes request-success-in{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes request-success-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}
@keyframes request-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes request-backdrop-out{from{opacity:1}to{opacity:0}}
@media(max-width:600px){.request-success-content{padding:34px 22px 24px}.request-success-content h2{font-size:25px}.request-success-content p,.request-success-confirm{font-size:17px}.contact-form .consent{font-size:17px}.contact-form .consent-block{padding:14px}}
@media(prefers-reduced-motion:reduce){.contact-form .consent-block,.contact-form .consent input,.contact-form .consent input::before,.request-success-close,.request-success-confirm{transition:none}#request-success-dialog[open],#request-success-dialog.is-closing,#request-success-dialog::backdrop,#request-success-dialog.is-closing::backdrop{animation:none}}
