.contact-backdrop{position:fixed;inset:0;z-index:130;background:color-mix(in srgb,var(--color-bg) 82%,transparent);opacity:1;transition:opacity .16s ease}.contact-popup{position:fixed;z-index:131;inset:50% auto auto 50%;translate:-50% -50%;width:min(57.5rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow-y:auto;background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);padding:0 0 env(safe-area-inset-bottom,0);opacity:1;transform:translateY(0);transition:opacity .16s ease,transform .16s ease}.contact-popup[data-ending-style],.contact-popup[data-starting-style]{opacity:0;transform:translateY(8px)}.contact-backdrop[data-ending-style],.contact-backdrop[data-starting-style]{opacity:0}.contact-footer,.contact-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.25rem;padding:.75rem 1.5rem}.contact-header{border-bottom:1px solid var(--color-border)}.contact-footer{border-top:1px solid var(--color-border);flex-wrap:wrap;padding-block:.75rem}.contact-title{margin:0;letter-spacing:.18em}.contact-close,.contact-title{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;text-transform:uppercase;color:var(--color-text-primary)}.contact-close{letter-spacing:.16em;background:transparent;border:0;padding:.25rem 0;cursor:pointer}.contact-body{display:grid;grid-template-columns:10.5rem minmax(0,1fr);min-height:0}.contact-rail{display:flex;flex-direction:column;gap:1.125rem;padding:1.5rem 1.25rem;border-right:1px solid var(--color-border)}.contact-rail-item{margin:0;font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-secondary)}.contact-form{padding:1.5rem 1.5rem 1rem}.contact-form,.contact-index-section{display:grid;gap:1.125rem;min-width:0}.contact-index-section{margin:0;padding:0;border:0}.contact-index-legend{font-family:var(--font-mono);font-size:.625rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-secondary);padding:0}.contact-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem}.contact-field{display:grid;gap:.5rem;min-width:0}.contact-field label{font-family:var(--font-mono);font-size:.625rem;font-weight:500;text-transform:uppercase;letter-spacing:.16em;color:var(--color-text-secondary)}.contact-field :is(input,select,textarea){min-width:0;width:100%;min-height:2.75rem;border:1px solid var(--color-border);border-radius:0;padding:.75rem;font:inherit;font-size:.875rem;line-height:1.25;background:var(--color-bg);color:var(--color-text-primary)}.contact-field select{padding-block:0}.contact-field textarea{min-height:6rem;resize:vertical}.contact-field-error{margin:0;font-family:var(--font-sans);font-size:.75rem;line-height:1.4;color:var(--color-text-primary)}.contact-privacy{margin:0;max-width:24rem;font-family:var(--font-mono);font-size:.6875rem;line-height:1.4;color:var(--color-text-secondary)}.contact-privacy a{color:var(--color-text-primary);text-decoration:underline;text-underline-offset:3px}.contact-status{margin:0;min-height:1rem;font-family:var(--font-sans);font-size:.8125rem;color:var(--color-text-primary)}.contact-success{display:grid;gap:1rem;align-content:start;padding:2.5rem 1.5rem;min-height:16rem}.contact-success h3{margin:0;font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase}.contact-success p{margin:0;font-family:var(--font-sans);font-size:.9375rem;line-height:1.5;color:var(--color-text-secondary)}.contact-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.contact-popup :focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.contact-popup ::selection{background:color-mix(in srgb,var(--color-accent) 22%,transparent)}@media (max-width:719px){.contact-popup{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem)}.contact-body{grid-template-columns:minmax(0,1fr)}.contact-rail{display:none}.contact-row{grid-template-columns:minmax(0,1fr)}.contact-footer,.contact-form,.contact-header,.contact-success{padding-inline:1rem}}@media (min-width:720px){.contact-index-legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}@media (prefers-reduced-motion:reduce){.contact-backdrop,.contact-popup{transition:none}.contact-popup[data-ending-style],.contact-popup[data-starting-style]{transform:none}}