.contact-form-wrapper{width:100%}.contact-form{display:flex;flex-direction:column;gap:var(--space-12);max-width:var(--container-narrow);margin-inline:auto}.contact-form .form-row{display:flex;flex-direction:column;gap:var(--space-4)}.contact-form .form-row label{font-size:var(--font-size-13);font-weight:500;color:var(--color-text)}.contact-form .form-row label span[aria-hidden]{color:var(--color-primary)}.contact-form .form-row input,.contact-form .form-row select,.contact-form .form-row textarea{padding:var(--space-10) var(--space-12);font-size:var(--font-size-14);font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color .15s ease}.contact-form .form-row input:focus,.contact-form .form-row select:focus,.contact-form .form-row textarea:focus{outline:none;border-color:var(--color-primary)}.contact-form .form-row input[aria-invalid=true],.contact-form .form-row select[aria-invalid=true],.contact-form .form-row textarea[aria-invalid=true]{border-color:var(--color-danger, #dc2626)}.contact-form .form-row textarea{resize:vertical;min-height:120px}.contact-form .field-error{display:block;margin-top:var(--space-4);color:var(--color-danger, #dc2626);font-size:var(--font-size-12);line-height:1.4}.contact-form .form-optional{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-12)}.contact-form .form-optional summary{font-size:var(--font-size-13);color:var(--color-text-muted);cursor:pointer;user-select:none}.contact-form .form-optional[open] summary{margin-bottom:var(--space-12)}.contact-form .form-optional .form-row+.form-row{margin-top:var(--space-12)}.contact-submit{align-self:flex-start;padding:var(--space-10) var(--space-24);font-size:var(--font-size-14);font-weight:600;color:var(--color-primary-contrast);background-color:var(--color-primary);border:none;border-radius:var(--radius-pill);cursor:pointer;transition:background-color .15s ease}.contact-submit:hover:not(:disabled){background-color:var(--color-primary-hover)}.contact-submit:disabled{opacity:.6;cursor:not-allowed}.form-status{min-height:1.2em;margin:0;font-size:var(--font-size-13)}.form-status[data-kind=success]{color:var(--color-success, #16a34a)}.form-status[data-kind=error]{color:var(--color-danger, #dc2626)}.form-status[data-kind=submitting]{color:var(--color-text-muted)}.contact-sent-card{max-width:var(--container-narrow);margin-inline:auto;padding:var(--space-24);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:left;display:flex;flex-direction:column;gap:var(--space-10)}.contact-sent-card__title{margin:0;font-size:var(--font-size-20);font-weight:600;color:var(--color-success, #16a34a)}.contact-sent-card__body{margin:0;font-size:var(--font-size-14);color:var(--color-text);line-height:var(--line-height-base)}.contact-sent-card__ref{margin:0;font-size:var(--font-size-12);color:var(--color-text-muted)}.contact-sent-card__ref code{font-family:var(--font-mono);font-size:var(--font-size-12);color:var(--color-text-subtle);word-break:break-all}.contact-sent-card__resend{align-self:flex-start;margin-top:var(--space-6);padding:var(--space-8) var(--space-16);font-size:var(--font-size-13);font-weight:500;color:var(--color-text);background-color:transparent;border:1px solid var(--color-border-strong, var(--color-border));border-radius:var(--radius-pill);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.contact-sent-card__resend:hover{background-color:var(--color-surface-2, var(--color-surface));border-color:var(--color-primary)}.contact-links[data-astro-cid-vqmci5is]{display:grid;grid-template-columns:1fr;gap:var(--space-12);list-style:none;padding:0;margin:0}@media(min-width:640px){.contact-links[data-astro-cid-vqmci5is]{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-16)}}.contact-links__item[data-astro-cid-vqmci5is]{padding:var(--space-16);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);overflow-wrap:break-word;transition:border-color var(--motion-fast) var(--easing-out),transform var(--motion-fast) var(--easing-out)}@media(min-width:640px){.contact-links__item[data-astro-cid-vqmci5is]{padding:var(--space-20)}}.contact-links__link[data-astro-cid-vqmci5is]{display:block;color:var(--color-text)}.contact-links__item[data-astro-cid-vqmci5is]:hover{border-color:var(--color-border-strong);transform:translateY(-2px)}.contact-links__label[data-astro-cid-vqmci5is]{display:block;font-family:var(--font-mono);font-size:var(--font-size-11);color:var(--color-primary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);margin-bottom:var(--space-6)}.contact-links__value[data-astro-cid-vqmci5is]{display:block;font-size:var(--font-size-16);color:var(--color-text);word-break:break-all}.contact-links__email-row[data-astro-cid-vqmci5is]{display:flex;align-items:center;gap:var(--space-8)}.contact-links__email-link[data-astro-cid-vqmci5is]{flex:1 1 auto;color:var(--color-text);text-decoration:none}.contact-links__email-link[data-astro-cid-vqmci5is]:hover,.contact-links__email-link[data-astro-cid-vqmci5is]:focus-visible{color:var(--color-primary);text-decoration:underline}.contact-links__copy[data-astro-cid-vqmci5is]{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);cursor:pointer;transition:border-color var(--motion-fast) var(--easing-out),color var(--motion-fast) var(--easing-out),background var(--motion-fast) var(--easing-out)}.contact-links__copy[data-astro-cid-vqmci5is]:hover,.contact-links__copy[data-astro-cid-vqmci5is]:focus-visible{border-color:var(--color-primary);color:var(--color-primary)}.contact-links__copy[data-astro-cid-vqmci5is][data-state=ok]{border-color:var(--color-success, var(--color-primary));color:var(--color-success, var(--color-primary))}.contact-links__copy[data-astro-cid-vqmci5is][data-state=error]{border-color:var(--color-danger, var(--color-primary));color:var(--color-danger, var(--color-primary))}.contact-links__copy-icon--ok[data-astro-cid-vqmci5is],.contact-links__copy[data-astro-cid-vqmci5is][data-state=ok] .contact-links__copy-icon--default[data-astro-cid-vqmci5is]{display:none}.contact-links__copy[data-astro-cid-vqmci5is][data-state=ok] .contact-links__copy-icon--ok[data-astro-cid-vqmci5is]{display:inline-block}.sr-only[data-astro-cid-vqmci5is]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.contact-section[data-astro-cid-uw5kdbxl]{max-width:var(--container-medium);margin:var(--space-56) auto;padding-inline:var(--space-24)}.contact-header[data-astro-cid-uw5kdbxl]{margin-bottom:var(--space-40);text-align:center}.contact-header[data-astro-cid-uw5kdbxl] h1[data-astro-cid-uw5kdbxl]{font-size:var(--font-size-32);font-weight:700;margin-bottom:var(--space-12)}.contact-header[data-astro-cid-uw5kdbxl] p[data-astro-cid-uw5kdbxl]{color:var(--color-text-muted);font-size:var(--font-size-14)}.contact-fallback[data-astro-cid-uw5kdbxl]{text-align:center;padding:var(--space-32);background:var(--color-surface);border-radius:var(--radius-md)}.contact-fallback[data-astro-cid-uw5kdbxl] a[data-astro-cid-uw5kdbxl]{color:var(--color-primary)}.contact-direct[data-astro-cid-uw5kdbxl]{margin-top:var(--space-40);padding-top:var(--space-32);border-top:1px solid var(--color-border)}.contact-direct__title[data-astro-cid-uw5kdbxl]{font-size:var(--font-size-20);font-weight:600;margin-bottom:var(--space-16);text-align:center}
