.contact-form-container{max-width:600px;margin:0 auto}.contact-email{margin-top:var(--space-4);margin-bottom:var(--space-8);padding:var(--space-4);background-color:var(--color-surface);border-radius:var(--radius-sm);text-align:center}.contact-email a{color:var(--color-primary-300);font-weight:var(--font-weight-medium)}.contact-email a:hover{color:var(--color-primary-500);text-decoration:underline}@media (prefers-color-scheme:dark){:root:not(.light) .contact-email a{color:var(--color-primary-600)}:root:not(.light) .contact-email a:hover{color:var(--color-primary-900)}}:root.dark .contact-email a{color:var(--color-primary-600)}:root.dark .contact-email a:hover{color:var(--color-primary-900)}.form-group{margin-bottom:var(--space-6)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);margin-bottom:var(--space-2);display:block}.form-label .required{color:var(--color-error);margin-left:var(--space-1)}.form-input,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-background);border:1px solid var(--color-separator);border-radius:var(--radius-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.form-input:hover,.form-textarea:hover{border-color:var(--color-subtle-text)}.form-input:focus,.form-textarea:focus{border-color:var(--color-tint);box-shadow:var(--focus-ring);outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-subtle-text)}.form-textarea{resize:vertical;min-height:150px}.form-input[aria-invalid=true],.form-textarea[aria-invalid=true]{border-color:var(--color-error)}.form-input[aria-invalid=true]:focus,.form-textarea[aria-invalid=true]:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #b300004d}@media (prefers-color-scheme:dark){:root:not(.light) .form-input[aria-invalid=true]:focus,:root:not(.light) .form-textarea[aria-invalid=true]:focus{box-shadow:0 0 0 3px #f871714d}}:root.dark .form-input[aria-invalid=true]:focus,:root.dark .form-textarea[aria-invalid=true]:focus{box-shadow:0 0 0 3px #f871714d}.form-error{font-size:var(--font-size-sm);color:var(--color-error);margin-top:var(--space-2);display:none}.form-error.visible{display:block}.char-count{font-size:var(--font-size-xs);color:var(--color-subtle-text);margin-top:var(--space-1);text-align:right}.altcha-container{margin-bottom:var(--space-6)}.form-submit{justify-content:center;align-items:center;gap:var(--space-2);min-width:160px;display:inline-flex}.form-submit:disabled{opacity:.6;cursor:not-allowed}.spinner{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin;display:none}.form-submit.loading .spinner{display:block}.form-submit.loading .btn-label{display:none}@keyframes spin{to{transform:rotate(360deg)}}.form-success,.form-error-message{padding:var(--space-4) var(--space-6);border-radius:var(--radius-md);margin-bottom:var(--space-6)}.form-success{border:1px solid var(--color-success);color:var(--color-success);background-color:#1166001a;display:none}.form-success.visible{display:block}.form-success h3{font-size:var(--font-size-lg);margin:0 0 var(--space-2) 0}.form-success p{margin:0}.form-error-message{border:1px solid var(--color-error);color:var(--color-error);background-color:#b300001a;display:none}.form-error-message.visible{display:block}.contact-form.hidden{display:none}@media (prefers-color-scheme:dark){:root:not(.light) .form-success{border-color:var(--color-success);color:var(--color-success);background-color:#4ade801a}:root:not(.light) .form-error-message{background-color:#b3000026}}:root.dark .form-success{border-color:var(--color-success);color:var(--color-success);background-color:#4ade801a}:root.dark .form-error-message{background-color:#b3000026}.newsletter-form-wrapper{margin-top:var(--space-4)}.newsletter-form-wrapper--centered{max-width:500px;margin-left:auto;margin-right:auto}.newsletter-success{padding:var(--space-4) var(--space-6);border-radius:var(--radius-md);border:1px solid var(--color-success);color:var(--color-success);background-color:#1166001a;display:none}.newsletter-success.visible{display:block}.newsletter-success h3{font-size:var(--font-size-lg);margin:0 0 var(--space-2) 0}.newsletter-success p{margin:0}.newsletter-error-message{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-error);color:var(--color-error);margin-bottom:var(--space-4);background-color:#b300001a;display:none}.newsletter-error-message.visible{display:block}.newsletter-input-group{gap:var(--space-3);display:flex}.newsletter-input-group .form-input{flex:1;min-width:0}.newsletter-input-group .newsletter-submit{white-space:nowrap;min-width:120px}.newsletter-consent{margin-top:var(--space-3)}.newsletter-consent-label{align-items:flex-start;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-subtle-text);cursor:pointer;display:flex}.newsletter-consent-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-tint);flex-shrink:0;margin-top:.2em}.newsletter-consent-label a{color:var(--color-primary-300);text-decoration:underline}.newsletter-consent-label a:hover{color:var(--color-primary-500)}.newsletter-helper{font-size:var(--font-size-sm);color:var(--color-subtle-text);margin-top:var(--space-3)}.newsletter-form.hidden{display:none}.newsletter-form .altcha-container{margin-top:var(--space-3);margin-bottom:0}@media (width<=480px){.newsletter-input-group{flex-direction:column}.newsletter-input-group .newsletter-submit{width:100%}}@media (prefers-color-scheme:dark){:root:not(.light) .newsletter-success{background-color:#4ade801a}:root:not(.light) .newsletter-error-message{background-color:#b3000026}:root:not(.light) .newsletter-consent-label a{color:var(--color-primary-600)}:root:not(.light) .newsletter-consent-label a:hover{color:var(--color-primary-900)}}:root.dark .newsletter-success{background-color:#4ade801a}:root.dark .newsletter-error-message{background-color:#b3000026}:root.dark .newsletter-consent-label a{color:var(--color-primary-600)}:root.dark .newsletter-consent-label a:hover{color:var(--color-primary-900)}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}
