/* Contact uses Focus typography, navigation and color tokens. */
.contact-page{min-height:100vh;display:flex;flex-direction:column}
.contact-page .contact-main{flex:1;width:min(100%,1360px);margin-inline:auto;padding:clamp(64px,7vw,105px) var(--pad) clamp(80px,8vw,120px);display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(48px,7vw,108px);align-items:start}
.contact-page .contact-page-title{font-size:clamp(48px,5.3vw,78px);font-weight:650;line-height:1.055;letter-spacing:-.06em;margin-top:24px;text-wrap:balance}
.contact-page .contact-page-deck{font-size:clamp(19px,1.9vw,23px);line-height:1.55;letter-spacing:-.02em;color:var(--body);max-width:430px;margin-top:28px;text-wrap:pretty}
.contact-page .contact-form-wrap{padding-top:9px;min-width:0}
.contact-page .contact-form fieldset{padding:0;margin:0;border:0;min-width:0}
.contact-page .contact-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-page .contact-field{min-width:0;margin-bottom:23px}
.contact-page .contact-field label{display:block;font-size:14px;line-height:1.4;color:var(--ink);font-weight:550;margin-bottom:9px}
.contact-page .field-optional{color:var(--muted);font-weight:400}
.contact-page :is(input,textarea){display:block;width:100%;min-width:0;font:inherit;font-size:16px;line-height:1.5;letter-spacing:-.01em;color:var(--ink);background:#fff;border:1px solid #bac5c3;border-radius:12px;padding:13px 15px;transition:border-color .15s,box-shadow .15s}
.contact-page input{min-height:52px}
.contact-page textarea{resize:vertical;min-height:175px;max-height:650px}
.contact-page :is(input,textarea):hover{border-color:#8a9b99}
.contact-page :is(input,textarea):focus-visible{outline:3px solid #176487;outline-offset:3px;border-color:var(--accent)}
.contact-page :is(input,textarea)[aria-invalid=true]{border-color:#a63127}
.contact-page :is(input,textarea):disabled{background:#f0f1ef;color:#687275}
.contact-page .field-error{font-size:13px;line-height:1.5;color:#a63127;margin-top:7px}
.contact-page .field-error:empty{display:none}
.contact-page .contact-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.contact-page .contact-submit-row{display:flex;align-items:center;gap:19px;margin-top:5px}
.contact-page .contact-submit-row .button{cursor:pointer;flex-shrink:0}
.contact-page .contact-submit-row .button:disabled{background:#5b8292;border-color:#5b8292;cursor:wait;transform:none}
.contact-page .contact-reply-note{font-size:12px;line-height:1.6;color:var(--muted);max-width:210px}
.contact-page .contact-privacy{font-size:13px;line-height:1.65;color:var(--body);max-width:560px;margin-top:22px;text-wrap:pretty}
.contact-page .contact-privacy a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
.contact-page .contact-status{font-size:15px;line-height:1.6;margin-top:24px;max-width:560px;scroll-margin-top:95px;color:var(--accent)}
.contact-page .contact-status:empty{display:none}
.contact-page .contact-status[data-state=error]{color:#a63127}
.contact-page .contact-status[data-state=success]{color:#245d46}
.contact-page .contact-status:focus{outline:none}
.contact-page .contact-email-alternative{font-size:14px;line-height:1.6;color:var(--body);margin-top:28px}
.contact-page :is(.contact-email-alternative,.contact-noscript) a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:4px;overflow-wrap:anywhere}
.contact-page .contact-noscript{font-size:14px;line-height:1.6;margin-top:23px;color:var(--body)}
@media(max-width:1050px){.contact-page .contact-main{gap:46px;grid-template-columns:.9fr 1.1fr}.contact-page .contact-page-title{font-size:58px}.contact-page .contact-field-grid{grid-template-columns:1fr;gap:0}}
@media(max-width:760px){.contact-page .contact-main{display:block;padding-top:58px;padding-bottom:75px}.contact-page .contact-page-title{font-size:clamp(43px,10.7vw,65px);margin-top:19px;letter-spacing:-.055em}.contact-page .contact-page-deck{font-size:19px;margin-top:23px;max-width:510px}.contact-page .contact-form-wrap{padding-top:0;margin-top:42px}.contact-page .contact-field-grid{grid-template-columns:1fr 1fr;gap:16px}.contact-page .contact-field{margin-bottom:22px}.contact-page .contact-status{scroll-margin-top:83px}}
@media(max-width:480px){.contact-page .contact-field-grid{grid-template-columns:1fr;gap:0}.contact-page .contact-submit-row{align-items:flex-start;flex-direction:column;gap:16px}.contact-page .contact-reply-note{max-width:100%}.contact-page .contact-page-title{font-size:clamp(40px,10.8vw,52px)}}
@media print{.contact-page .contact-main{display:block;padding:20px 0}.contact-page .contact-form-wrap{margin-top:30px}.contact-page .contact-submit-row,.contact-page .contact-trap{display:none}.contact-page :is(input,textarea){border-color:#888}.contact-page .contact-page-title{font-size:32pt}}
