/* A contact form on the shared page grid. */
.contact-layout{display:block}
.contact-form-panel{padding:36px var(--page-inset) 40px;min-width:0}
.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 24px}
.contact-field{min-width:0}
.contact-field label{display:block;margin-bottom:10px;font-size:15px;font-weight:500;line-height:1.4}
.contact-field label span{font-size:13px;font-weight:400;color:var(--muted)}
.contact-field input,.contact-field select,.contact-field textarea{display:block;width:100%;border:1px solid var(--line);border-radius:0;background:#fafaf8;color:var(--ink);font:400 16px/1.5 IBM Plex Sans,system-ui,sans-serif;padding:13px 14px;box-shadow:none}
.contact-field input,.contact-field select{min-height:52px}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--muted);opacity:.8}
.contact-field select:invalid{color:var(--muted)}
.contact-field select{appearance:none;-webkit-appearance:none;padding-right:48px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='m1 1 6 6 6-6' fill='none' stroke='%232d3040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;background-size:14px 8px}
.contact-field :is(input,select,textarea):focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.contact-field textarea{min-height:158px;resize:vertical}
.contact-message{grid-column:1/-1}
.contact-honeypot{display:none!important}
.contact-submit-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px}
.contact-submit-row p{font-size:13px;line-height:1.5;max-width:31ch}
.contact-submit-row button,.contact-confirmation button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:50px;min-width:180px;padding:14px 20px;border:0;border-radius:0;background:var(--ink);color:var(--paper);font-size:15px;font-weight:500;cursor:pointer}
.contact-submit-row button:hover,.contact-confirmation button:hover{background:var(--blue)}
.contact-submit-row button:disabled{opacity:.65;cursor:wait}
.contact-status{margin-top:18px;font-size:14px;line-height:1.5;color:#943a36}
.contact-status:empty{display:none}
.contact-noscript{font-size:13px;margin-top:14px}
.contact-confirmation{padding:16px 0 30px}
.contact-confirmation h2{font-size:clamp(28px,3vw,42px);line-height:1.1;max-width:20ch;margin-bottom:18px}
.contact-confirmation button{margin-top:28px}
.contact-form[hidden],.contact-confirmation[hidden]{display:none}
@media(max-width:650px){.contact-fields{grid-template-columns:1fr;gap:22px}.contact-submit-row{align-items:flex-start;flex-direction:column;gap:18px}.contact-submit-row p{max-width:none}.contact-form-panel{padding-top:28px;padding-bottom:32px}.contact-submit-row button{width:100%}}
