/* Public contact component: identical markup and states on every public page. */
body .design-contact.design-contact{--contact-border:#d9dfe8;--contact-red:#ce0730;background:#fff}
body .design-contact.design-contact form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 18px;margin:0;align-items:start}
/* Grid items must not impose the CAPTCHA's intrinsic width on mobile tracks. */
body .design-contact.design-contact form> :not(input[type=hidden]){min-width:0;max-width:100%}
body .design-contact.design-contact form>label:not(.consent){display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px;min-width:0;height:auto!important;border:0!important;padding:0!important;border-radius:0;background:none}
body .design-contact.design-contact form>label>.design-field-label{display:block;width:auto;color:#172131;font:600 14px/1.5 Arial,"Microsoft YaHei",sans-serif}
body .design-contact.design-contact .design-field-label::before{content:none!important}
body .design-contact.design-contact form :is(input:not([type=hidden],[type=checkbox]),select,textarea){box-sizing:border-box;width:100%;min-width:0;height:46px;min-height:0;padding:10px 12px;border:1px solid var(--contact-border);border-radius:6px;background-color:#fff;color:#344154;font:14px/1.6 Arial,"Microsoft YaHei",sans-serif;box-shadow:none}
body .design-contact.design-contact form :is(input,textarea)::placeholder{color:#8a95a3}
body .design-contact.design-contact form textarea{height:124px!important;min-height:124px!important;resize:vertical}
body .design-contact.design-contact :is(.wide,.success,.form-errors){grid-column:1/-1}
body .design-contact.design-contact form .consent{display:flex;align-items:flex-start;gap:10px;margin:0;padding:0;border:0;font:13px/1.7 Arial,"Microsoft YaHei",sans-serif}
body .design-contact.design-contact form .consent input{flex:none;width:18px;height:18px;margin:3px 0 0;padding:0;accent-color:var(--contact-red)}
body .design-contact.design-contact .human-verification{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px 16px;position:relative;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:80px;padding:16px 20px;background:#f7f9fb;border:1px solid var(--contact-border);border-radius:6px;box-shadow:none;justify-self:stretch;container-type:inline-size}
body .design-contact.design-contact .human-verification-check{display:grid;place-items:center;width:28px;height:32px;border:0;background:transparent;color:#27384b}
body .design-contact.design-contact .human-verification-check svg{display:block;width:26px;height:30px}
body .design-contact.design-contact .human-verification-copy{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;max-width:100%;overflow-wrap:anywhere}
body .design-contact.design-contact .human-verification-copy>strong{color:#172131;font-size:14px;font-weight:600;line-height:1.5}
body .design-contact.design-contact .human-verification-copy>span{color:#748091;font-size:12px;line-height:1.6}
body .design-contact.design-contact .human-verification-challenge{display:flex;align-items:center;gap:10px;padding:0;margin:0;border:0;height:auto;max-width:100%;font:600 15px/1.5 Arial,"Microsoft YaHei",sans-serif;color:#27384b;white-space:nowrap}
body .design-contact.design-contact .human-verification>.field-error{grid-column:2/-1}
@container(max-width:420px){body .design-contact.design-contact .human-verification-challenge{grid-column:2/-1;justify-self:start}body .design-contact.design-contact .human-verification-copy{grid-column:2/-1}}
/* Keep this more specific than the full-width shared form control rule. */
body .design-contact.design-contact form .human-verification .human-verification-challenge input{flex:0 0 56px;width:56px;max-width:56px;height:38px;text-align:center;padding:4px 6px;border-radius:5px}
body .design-contact.design-contact form .human-verification input:focus{outline:none;border-color:#9aaabb;box-shadow:0 0 0 2px #64748b12}
body .design-contact.design-contact .human-verification.has-error{border-color:var(--contact-red)}
body .design-contact.design-contact form .submit-button{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:160px;min-height:48px;margin:0;padding:12px 28px;border:1px solid var(--contact-red);border-radius:6px;background:var(--contact-red);color:#fff;font:600 15px/1.5 Arial,"Microsoft YaHei",sans-serif;white-space:nowrap}
body .design-contact.design-contact form .submit-button:disabled{opacity:.65;cursor:wait}
body .design-contact.design-contact .field-error{font-size:13px;line-height:1.5;color:#bd1536}
body .design-contact.design-contact [aria-invalid=true]{border-color:#bd1536!important}
body .design-contact.design-contact .form-errors{padding:12px 16px;border-left:3px solid #bd1536;background:#fff5f6;color:#9c1730}
body .design-contact.design-contact .success{padding:12px 16px;border-left:3px solid #278258;background:#eff8f3;color:#246845}
body .design-contact.design-contact .message-count{align-self:flex-end;color:#7a8593;font-size:12px;line-height:1.4}
body .design-contact.design-contact .quote-product-context{padding:10px 14px;border-radius:6px;background:#f5f7f9;color:#536172;font-size:14px;margin:0 0 20px}
body .design-contact.design-contact .message-help{color:#697687;font-size:12px;line-height:1.5}
body .design-contact.design-contact .contact-optional{padding:16px;border:1px solid var(--contact-border);border-radius:6px}
body .design-contact.design-contact .contact-optional summary{cursor:pointer;color:#344154;font:600 14px/1.6 Arial,"Microsoft YaHei",sans-serif}
body .design-contact.design-contact .contact-optional summary:focus-visible{outline:2px solid var(--contact-red);outline-offset:5px}
body .design-contact.design-contact .contact-optional-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px}
body .design-contact.design-contact .contact-optional-fields>label{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px;min-width:0;height:auto!important;border:0!important;padding:0!important;background:none}
body .design-contact.design-contact .contact-optional-fields .design-field-label{display:block;color:#172131;font:600 14px/1.5 Arial,"Microsoft YaHei",sans-serif}
@media(max-width:1000px){body .design-contact.design-contact .contact-optional-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body .design-contact.design-contact .contact-optional-fields{grid-template-columns:minmax(0,1fr)}}
body:has(.precision-header) :is(.design-contact select,.resource-filters select){appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23657080' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px;padding-right:44px!important}
body:has(.precision-header) :is(.detail-button,.precision-quote,.design-cta .button,.design-contact .submit-button){border-radius:6px;white-space:nowrap;min-height:44px;line-height:1.5}
@media(max-width:1000px){body .design-contact.design-contact form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body .design-contact.design-contact form{grid-template-columns:minmax(0,1fr);gap:18px}body .design-contact.design-contact form .submit-button{min-width:min(160px,100%);max-width:100%;white-space:normal}}
@media(max-width:380px){body .design-contact.design-contact .human-verification{padding:14px 12px;column-gap:10px}}
