.contact-section{padding:var(--spacing-md) 0 var(--spacing-xxxl)}.contact-description{text-align:left;margin-bottom:var(--spacing-xs)}.contact-response-delay{font-size:var(--font-size-sm);color:var(--color-text-muted)}.contact-alternatives,.contact-response-delay{margin-bottom:var(--spacing-lg)}.contact-alternatives__label{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-xs)}.contact-alternatives__list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.contact-alternatives__link{display:inline-flex;align-items:center;gap:var(--spacing-xxxs);padding:var(--spacing-xxs) var(--spacing-xs);border:var(--border-thin) solid var(--color-bg-tone-3);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);text-decoration:none;background:var(--color-bg-tone-1);transition:border-color .2s ease,color .2s ease,background .2s ease}.contact-alternatives__link:hover{border-color:var(--interactive-primary);color:var(--interactive-primary);background:var(--color-bg-tone-2)}.contact-alternatives__icon{width:var(--icon-size--base);height:var(--icon-size--base);flex-shrink:0}.contact-form-separator{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);color:var(--color-text-muted);font-size:var(--font-size-sm)}.contact-form-separator:after,.contact-form-separator:before{content:"";flex:1;height:var(--height--xxxs);background:var(--color-bg-tone-3)}.contact-form{margin-top:var(--spacing-md)}.contact-form--fields{display:grid;grid-template-columns:1fr;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.contact-form--group{display:flex;flex-direction:column;gap:var(--spacing-xxxs)}.contact-form--group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.contact-form--input,.contact-form--select,.contact-form--textarea{width:100%;padding:var(--spacing-xxs);border:var(--border-thin) solid var(--color-text-muted);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family-body);background:var(--color-bg-tone-1);color:var(--color-text-primary);transition:border-color .2s ease,box-shadow .2s ease}.contact-form--input:focus,.contact-form--select:focus,.contact-form--textarea:focus{outline:none;border-color:var(--interactive-primary);box-shadow:0 0 0 3px var(--accent-primary)}.contact-form--input::placeholder,.contact-form--textarea::placeholder{color:var(--color-text-muted)}.contact-form--select{cursor:pointer}.contact-form--textarea{resize:vertical;min-height:140px;line-height:var(--line-height-normal)}.contact-form--char-count{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:right;margin-top:var(--spacing-xxxs)}.contact-form--actions{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.contact-form--submit{align-self:flex-start;padding:var(--spacing-xxs) var(--spacing-lg);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-normal);border:none;background:var(--interactive-primary);color:var(--text-inverse)}.contact-form--submit:hover:not(:disabled){background:var(--interactive-hover)}.contact-form--submit:disabled{opacity:.6;cursor:not-allowed}.contact-form--message{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm)}.contact-form--message--error{background:var(--tag-occasion);color:var(--color-text-primary)}.contact-form--honeypot{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}.contact-form--success{padding:var(--spacing-md);background:var(--color-bg-tone-2);border-radius:var(--border-radius-md);border-left:var(--border-bold) solid var(--interactive-primary);margin-top:var(--spacing-md)}.contact-form--success-title{font-family:var(--font-family-heading);font-size:var(--font-size-lg);color:var(--color-text-primary);margin-bottom:var(--spacing-xxxs)}.contact-form--success-text{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.contact-form--reset{font-size:var(--font-size-sm);color:var(--interactive-primary);background:none;border:none;cursor:pointer;padding:0;text-decoration:underline;transition:color .2s ease}.contact-form--reset:hover{color:var(--interactive-hover)}@media (min-width:640px){.contact-form--fields{grid-template-columns:1fr 1fr}.contact-form--group--full{grid-column:1/-1}.contact-form--actions{flex-direction:row;align-items:center}}