.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)}.contact-map-wrap{padding-bottom:var(--section-pad)}.contact-map{position:relative;aspect-ratio:4 / 5;overflow:hidden;border-radius:var(--radius-lg);background-color:var(--color-surface);background-image:linear-gradient(var(--color-border) 1px,transparent 1px),linear-gradient(90deg,var(--color-border) 1px,transparent 1px);background-size:2.5rem 2.5rem;background-position:center}@media (min-width: 640px){.contact-map{aspect-ratio:16 / 9}}@media (min-width: 1024px){.contact-map{aspect-ratio:21 / 8}}.map-facade{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-6);text-align:center}.map-pin{width:2.5rem;height:2.5rem;fill:var(--color-bg);stroke:var(--color-text);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.map-note{max-width:26rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--color-bg);color:var(--color-surface-text);font-size:var(--text-sm)}.contact-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.contact-map.is-loaded .map-facade{display:none}.map-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 var(--space-5);margin-top:var(--space-2);color:var(--color-text-muted)}
