.contact-form,.contact-form__fields{gap:var(--space-lg);display:grid;position:relative}.contact-form__fields{border:0;min-width:0;margin:0;padding:0}.field{gap:.4rem;display:grid}.field__label{font-size:var(--text-sm);font-weight:600}.field__optional{color:var(--muted);font-weight:400}.field__hint{color:var(--muted);font-size:var(--text-sm);margin-top:-.15rem}.contact-form input,.contact-form select,.contact-form textarea{border:1px solid var(--rule-strong);border-radius:var(--radius);background-color:var(--paper);width:100%;min-height:3rem;color:var(--ink);font-size:var(--text-md);transition:border-color var(--duration-fast) ease;padding:.7rem .85rem;line-height:1.4}.contact-form textarea{resize:vertical;min-height:9.5rem}.contact-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%2345484b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .85rem center;background-repeat:no-repeat;background-size:1rem;padding-right:2.5rem}.contact-form :is(input,select,textarea):hover{border-color:var(--ink-2)}.contact-form :is(input,select,textarea):focus-visible{border-color:var(--ink);outline:2px solid var(--focus);outline-offset:1px}.contact-form .field--invalid :is(input,select,textarea),.contact-form .field--invalid :is(input,select,textarea):is(:hover,:focus-visible){border-color:var(--danger)}.contact-form__fields:disabled :is(input,select,textarea){cursor:progress;opacity:.75}.field__error{color:var(--danger);font-size:var(--text-sm);font-weight:500}.field-row{gap:var(--space-lg);display:grid}@media (width>=40em){.field-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.form-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-alert{padding:var(--space-md) var(--space-lg);border:1px solid var(--danger);border-radius:var(--radius);background:var(--danger-tint);gap:.4rem;display:grid}.form-alert:focus{outline:2px solid var(--danger);outline-offset:2px}.form-alert__title{font-weight:600}.form-alert ul{gap:.25rem;padding-left:1.2rem;display:grid}.form-alert a{color:var(--danger);overflow-wrap:anywhere}.form-actions{align-items:center;gap:var(--space-md) var(--space-lg);flex-wrap:wrap;display:flex}.form-progress{min-height:1.4em;color:var(--ink-2);font-size:var(--text-sm);flex:16rem}.form-privacy{color:var(--muted);font-size:var(--text-sm)}.form-privacy a{color:var(--teal-ink)}.form-sent{gap:var(--space-sm);padding:var(--space-xl);border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);display:grid}.form-sent:focus{outline:2px solid var(--focus);outline-offset:2px}.form-sent__label{color:var(--teal-ink);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.form-sent__title{font-size:var(--text-xl)}.form-sent p{overflow-wrap:anywhere}.form-sent a{color:var(--teal-ink)}.contact[data-astro-cid-6bfsojfh]{padding-top:clamp(2.5rem,2rem + 3vw,4.5rem)}.contact__grid[data-astro-cid-6bfsojfh]{gap:var(--space-3xl);display:grid}.contact__form[data-astro-cid-6bfsojfh]{--cut:18px;max-width:42rem;padding:clamp(1.5rem,.75rem + 2vw,2.75rem)}.contact__noscript[data-astro-cid-6bfsojfh]{margin-bottom:var(--space-lg);padding:var(--space-md);border:1px solid var(--rule-strong);border-radius:var(--radius)}.contact__aside[data-astro-cid-6bfsojfh]{--cut:18px;--frame-fill:radial-gradient(90% 60% at 100% 0%, #00d1b224, transparent 60%), var(--lattice-dark) right top / var(--lattice-size), linear-gradient(165deg, var(--graphite-2) 0%, var(--graphite) 100%);align-content:start;align-self:start;gap:var(--space-xl);padding:clamp(1.5rem,1rem + 1.5vw,2.25rem);display:grid}.contact__aside[data-astro-cid-6bfsojfh] .contact__heading[data-astro-cid-6bfsojfh]{color:var(--on-dark-2)}.contact__block[data-astro-cid-6bfsojfh]{gap:.4rem;display:grid}.contact__heading[data-astro-cid-6bfsojfh]{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:500}.contact__email[data-astro-cid-6bfsojfh]{font-size:var(--text-xl);letter-spacing:-.01em;text-underline-offset:.2em;overflow-wrap:anywhere;font-weight:600;text-decoration-thickness:1px}.contact__links[data-astro-cid-6bfsojfh]{gap:.5rem var(--space-lg);flex-wrap:wrap;display:flex}@media (width>=60em){.contact__grid[data-astro-cid-6bfsojfh]{grid-template-columns:minmax(0,7fr) minmax(0,4fr)}.contact__aside[data-astro-cid-6bfsojfh]{margin-top:var(--space-md)}}
