/* Contact is a direct route from every page, including the compact mobile header. */
.header-contact{font-size:12px;color:var(--lime);border:1px solid var(--line);padding:10px 15px;text-decoration:none;white-space:nowrap}.header-contact:hover{border-color:var(--lime)}
.contact-section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:80px;border-top:1px solid var(--line);align-items:start;scroll-margin-top:110px}.contact-intro>p:not(.eyebrow){color:var(--muted);max-width:450px;font-size:16px;margin:26px 0}.contact-intro .fine{font-size:12px!important;line-height:1.8}.contact-address{display:flex;justify-content:space-between;max-width:430px;gap:14px;font-size:clamp(20px,2.3vw,30px);color:var(--lime);padding-block:20px;border-block:1px solid var(--line);text-decoration:none;overflow-wrap:anywhere}.contact-shortcuts{display:flex;gap:22px;flex-wrap:wrap}.contact-shortcuts a{font-size:12px;color:var(--teal);text-decoration:none}.contact-form{min-width:0;background:var(--panel);border:1px solid var(--line);padding:36px}.contact-form-heading{font-size:22px;line-height:1.3;margin:0 0 10px;font-weight:600}.contact-form>.fine{margin-bottom:26px}.contact-form fieldset{border:0;padding:0;margin:0;min-width:0}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}.contact-fields>div{min-width:0}.contact-form label{font-size:12px;color:var(--text)}.contact-form label>span{color:var(--muted)}.contact-field{margin-bottom:22px}.contact-form input:not([type=checkbox]),.contact-form textarea,.contact-form select{width:100%;max-width:100%;min-width:0;border:1px solid #527078;border-radius:0;background:var(--bg);color:var(--text);padding:12px;min-height:48px;font-size:16px;line-height:1.5}.contact-form textarea{display:block;resize:vertical;min-height:145px}.contact-form textarea::placeholder{color:#92acb0}.message-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.message-label>span{font-size:10px;color:var(--muted)}.contact-consent{display:flex;align-items:start;gap:12px;line-height:1.7;margin:25px 0;font-size:11px!important}.contact-consent input{appearance:auto;flex:none;margin:3px 0 0;width:18px;height:18px;accent-color:var(--lime)}.contact-consent a{color:var(--text)}.contact-submit{display:flex;justify-content:space-between;align-items:center;gap:25px;width:100%;border:0;padding:16px 20px;background:var(--lime);color:var(--deep);font:600 15px Inter,sans-serif;min-height:54px}.contact-submit:hover{filter:brightness(1.08)}.contact-submit:disabled{opacity:.65;cursor:wait}.contact-status{margin:22px 0 0;border-left:3px solid var(--lime);padding:15px 18px;background:var(--deep);font-size:13px;line-height:1.7;overflow-wrap:anywhere}.contact-status[data-state=error]{border-color:var(--warm)}.contact-preview{border:1px solid var(--line);padding:12px}.contact-trap,.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.contact-page .contact-section{padding-top:35px}.contact-page .contact-intro h2{font-size:46px}
@media(max-width:1180px){.header-inner{gap:17px}.desktop-nav{gap:16px}.header-contact{padding:9px 11px}.contact-section{gap:40px}.contact-form{padding:28px}}
@media(max-width:970px){.header-contact{margin-left:auto}.header-downloads{margin-left:0}.contact-section{gap:30px}.contact-fields{grid-template-columns:1fr;gap:20px}}
@media(max-width:760px){.header-inner{gap:15px}.header-contact{font-size:11px;padding:8px 11px}.menu{margin-left:0}.contact-section{grid-template-columns:1fr;gap:32px}.contact-intro>p:not(.eyebrow){font-size:15px;margin:22px 0}.contact-form{padding:24px 20px}.contact-form-heading{font-size:21px}.contact-fields{gap:18px}.contact-address{font-size:25px}.contact-consent{font-size:12px!important}.contact-page .contact-section{padding-top:20px}}
@media(max-width:370px){.header-inner{gap:11px}.header-contact{padding:8px}.brand{font-size:28px}.brand img{width:28px;height:28px}.menu summary{font-size:11px}.contact-form{padding:22px 17px}.contact-address{font-size:22px}}
@media print{.contact-form,.header-contact{display:none}.contact-section{display:block}}

/* Give the form room while the phone keyboard is open. */
@media(max-width:760px){body:has(.contact-form:focus-within) .mobile-downloads{visibility:hidden;pointer-events:none}}
