.contact-form{display:flex;flex-direction:column;gap:var(--space-lg)}.form-nota{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.field{display:flex;flex-direction:column;gap:var(--space-2xs)}.field-row{display:grid;gap:var(--space-lg);grid-template-columns:1fr}@media(min-width:32rem){.field-row{grid-template-columns:1fr 1fr}}.contact-form label{font-weight:var(--weight-medium);font-size:var(--text-sm)}.contact-form input,.contact-form textarea{width:100%;padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--text-base);transition:border-color var(--duration-fast) var(--ease-out-quart),box-shadow var(--duration-fast) var(--ease-out-quart)}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.contact-form textarea{resize:vertical}.field-error{margin:0;font-size:var(--text-sm);color:var(--color-error);min-height:0}.field-error:empty{display:none}.contact-form [aria-invalid=true]{border-color:var(--color-error)}.contact-form [aria-invalid=true]:focus{box-shadow:0 0 0 3px var(--color-error-soft)}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.consent{display:flex;gap:var(--space-sm);align-items:flex-start;font-size:var(--text-sm);font-weight:var(--weight-normal);color:var(--color-text-soft);cursor:pointer}.consent input{width:1.15rem;height:1.15rem;margin-top:.15rem;flex-shrink:0}.form-submit{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--space-sm);background:var(--color-accent);color:var(--color-text-on-accent);font-weight:var(--weight-semibold);font-size:var(--text-base);padding:var(--space-sm) var(--space-xl);border-radius:var(--radius-pill);min-height:48px;transition:background-color var(--duration-fast) var(--ease-out-quart)}.form-submit:hover{background:var(--color-accent-strong)}.form-submit[disabled]{opacity:.75;cursor:progress}.form-submit__spinner{display:none;width:1.05rem;height:1.05rem;border:2px solid color-mix(in oklab,var(--color-text-on-accent) 40%,transparent);border-top-color:var(--color-text-on-accent);border-radius:var(--radius-pill);animation:spin .7s linear infinite}.form-submit[data-loading=true] .form-submit__spinner{display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.form-submit__spinner{animation-duration:1.5s}}.form-status{margin:0;padding:var(--space-md);border-radius:var(--radius-md);font-size:var(--text-sm)}.form-status[data-state=success]{background:var(--color-secondary-soft);color:var(--color-secondary)}.form-status[data-state=error]{background:var(--color-error-soft);color:var(--color-error)}.contact-info{display:flex;flex-direction:column;gap:var(--space-xl)}.info-block h2{font-size:var(--text-lg);margin-bottom:var(--space-sm)}.info-block address{font-style:normal;line-height:var(--leading-snug);color:var(--color-text-soft)}.info-block address p+p{margin-top:var(--space-xs)}.info-hours{color:var(--color-text-soft)}.info-hours .hours__days{color:var(--color-text)}.map-link{display:inline-flex;align-items:center;gap:var(--space-sm);font-weight:var(--weight-medium);text-decoration:none;color:var(--color-accent-strong)}.map-link:hover{color:var(--color-accent)}.map-pin{display:grid;place-items:center}.contact-grid{display:grid;gap:var(--space-2xl);grid-template-columns:1fr}@media(min-width:60rem){.contact-grid{grid-template-columns:minmax(0,1.5fr) 1fr}}.sr-heading{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
