.contact-wrap{font-family:var(--font-sans),"IBM Plex Sans",sans-serif;background:var(--color-paper);color:var(--color-ink);min-height:100vh}.contact-wrap h1,.contact-wrap h2{font-family:var(--font-serif),"Source Serif 4",serif;color:var(--color-ink);letter-spacing:-.5px;font-weight:700}.contact-hero{max-width:720px;margin:0 auto;padding:56px 32px 24px}.contact-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--color-teal);margin-bottom:14px;font-size:11px;font-weight:600;display:inline-block}.contact-hero h1{margin:0 0 16px;font-size:clamp(36px,6vw,56px);line-height:1.05}.contact-intro{color:var(--color-ink-2);max-width:600px;margin:0;font-size:16px;line-height:1.75}.contact-section{max-width:720px;margin:0 auto;padding:24px 32px 96px}.contact-form{background:var(--color-surface);border-radius:var(--radius-card);flex-direction:column;gap:22px;padding:36px;display:flex}.contact-field{flex-direction:column;gap:7px;display:flex}.contact-field label{letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-2);font-size:11px;font-weight:600}.contact-field input,.contact-field select,.contact-field textarea{font-family:var(--font-sans),"IBM Plex Sans",sans-serif;color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-input);outline:none;min-height:46px;padding:12px 14px;font-size:16px;font-weight:400;transition:border-color .15s,outline-color .15s}.contact-field input::placeholder,.contact-field textarea::placeholder{color:color-mix(in srgb,var(--color-ink-2)70%,var(--color-surface))}.contact-field input:hover,.contact-field select:hover,.contact-field textarea:hover{border-color:var(--color-ink-2)}.contact-field input:focus-visible,.contact-field select:focus-visible,.contact-field textarea:focus-visible{border-color:var(--color-teal);outline:2px solid var(--color-teal);outline-offset:1px}.contact-field select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%235b676a' stroke-width='1.6'%3E%3Cpath d='M5 8l5 5 5-5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:16px 16px;padding-right:40px}.contact-field textarea{resize:vertical;min-height:160px;line-height:1.6}.contact-honeypot{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.contact-error{color:var(--color-signal-text);margin:0;font-size:14px}.contact-submit{background:var(--color-signal);color:var(--color-surface);border:1px solid var(--color-signal);border-radius:var(--radius-button);cursor:pointer;align-self:flex-start;min-height:46px;padding:12px 24px;font-size:15px;font-weight:600;transition:background-color .15s,border-color .15s,opacity .15s}.contact-submit:hover:not(:disabled){background:color-mix(in srgb,var(--color-signal)85%,var(--color-ink));border-color:color-mix(in srgb,var(--color-signal)85%,var(--color-ink))}.contact-submit:focus-visible{outline:2px solid var(--color-teal);outline-offset:2px}.contact-submit:disabled{opacity:.6;cursor:not-allowed}.contact-success{background:var(--color-surface);border-radius:var(--radius-card);text-align:center;padding:48px 36px}.contact-success-icon{width:40px;height:40px;color:var(--color-teal);margin:0 auto 16px}.contact-success-icon svg{width:40px;height:40px}.contact-success h2{margin:0 0 10px;font-size:26px}.contact-success p{color:var(--color-ink-2);max-width:420px;margin:0 auto 24px;font-size:15px;line-height:1.7}.contact-success-reset{border:1px solid var(--color-teal);color:var(--color-teal);border-radius:var(--radius-button);cursor:pointer;background:0 0;min-height:44px;padding:10px 20px;font-size:14px;font-weight:600;transition:background-color .15s,color .15s}.contact-success-reset:hover{background:var(--color-teal);color:var(--color-surface)}.contact-success-reset:focus-visible{outline:2px solid var(--color-teal);outline-offset:2px}@media (max-width:640px){.contact-hero{padding:36px 16px 16px}.contact-section{padding:16px 16px 72px}.contact-form{gap:18px;padding:24px 20px}.contact-success{padding:36px 20px}.contact-submit{align-self:stretch}}
