.social{padding-block:var(--space-9);background:var(--color-dark);color:var(--color-dark-text)}.social-inner{display:grid;gap:var(--space-7);align-items:end}.social .btn-project{width:100%}@media (min-width: 480px){.social .btn-project{width:auto;justify-self:start}}@media (min-width: 900px){.social-inner{grid-template-columns:minmax(0,1fr) auto}}.contact{background:var(--color-bg)}.contact-grid{display:grid;gap:var(--space-9);padding-block:var(--section-pad)}@media (min-width: 1024px){.contact-grid{grid-template-columns:minmax(0,7fr) minmax(0,4fr)}}.contact-subtitle{font-size:var(--text-lg)}.contact-details{padding-top:var(--space-2)}.contact-intro{max-width:var(--measure);margin-top:var(--space-3);color:var(--color-surface-text)}.contact-form{display:grid;gap:var(--space-5);margin-top:var(--space-6)}.form-row{display:grid;gap:var(--space-5)}@media (min-width: 640px){.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.form-field{display:grid;gap:var(--space-2);align-content:start}.form-field label{font-size:var(--text-md);font-weight:500;line-height:1.3}.req{color:var(--color-action)}.optional{color:var(--color-text-muted);font-weight:400}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:3.25rem;padding:var(--space-3) var(--space-4);border:1px solid var(--color-input-border);border-radius:var(--radius);background:var(--color-muted);color:var(--color-text);font-size:var(--text-base);line-height:1.4;transition:border-color var(--dur-fast) linear,box-shadow var(--dur-fast) linear,background-color var(--dur-fast) linear}.form-field textarea{min-height:9rem;resize:vertical}.form-field select{appearance:none;padding-right:3rem;background-image:var(--select-chevron);background-repeat:no-repeat;background-position:right 1rem center;background-size:1.25rem}.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary);background-color:var(--color-bg)}.form-field [aria-invalid=true]{border-color:var(--color-danger);box-shadow:inset 0 0 0 1px var(--color-danger)}.field-error{font-size:var(--text-sm);font-weight:500}.field-error:empty{display:none}.field-error:before{content:"";display:inline-block;width:.75rem;height:2px;margin-right:.5rem;vertical-align:middle;background:var(--color-danger)}.field-hint{padding:var(--space-2) var(--space-4);border-radius:var(--radius);background:var(--color-accent);color:var(--color-accent-text);font-size:var(--text-sm)}.field-hint a{display:inline-flex;align-items:center;min-height:var(--tap);color:var(--color-accent-text);font-weight:600;white-space:nowrap}.form-required{color:var(--color-text-muted);font-size:var(--text-sm)}.form-honeypot{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}.form-submit{justify-self:start}.form-submit[aria-disabled=true]{cursor:progress;background:var(--color-dark-card)}@media (max-width: 639.98px){.form-submit{justify-self:stretch;justify-content:space-between}}.form-status:empty{display:none}.form-status{padding:var(--space-4) var(--space-5);border-radius:var(--radius);background:var(--color-muted);box-shadow:inset 3px 0 0 var(--color-input-border);font-weight:500}.form-status[data-state=success]{background:var(--color-accent);color:var(--color-accent-text);box-shadow:inset 3px 0 0 var(--color-action)}.form-status[data-state=error]{background:var(--color-bg);box-shadow:inset 3px 0 0 var(--color-danger),inset 0 0 0 1px var(--color-border)}.form-status a,.form-noscript a[href^="tel:"]{display:inline-flex;align-items:center;min-height:var(--tap);font-weight:600;white-space:nowrap}.form-status[data-state=success] a{color:var(--color-accent-text)}.form-noscript{padding:var(--space-4);border-radius:var(--radius);background:var(--color-muted)}.form-note{color:var(--color-text-muted);font-size:var(--text-sm)}.contact-list{display:grid;margin-top:var(--space-5);border-top:1px solid var(--color-border)}.contact-list li{display:grid;gap:var(--space-1);padding-block:var(--space-4);border-bottom:1px solid var(--color-border)}.contact-list .label{color:var(--color-text-muted)}.contact-list .text-link{justify-self:start}.todo-note{justify-self:start;padding:.1rem .5rem;border:1px dashed var(--color-input-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-sm)}
