.contact-form__heading{margin:0 0 var(--space-2)}.contact-form__intro{margin:0 0 var(--space-6);font-size:.95rem}.contact-form__status p{display:flex;align-items:flex-start;gap:var(--space-2);margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border-radius:8px;font-size:.9rem;background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.contact-form__status p.contact-form__status--error{background-color:#fef2f2;border-color:#fca5a5;color:#b91c1c;font-weight:600}.contact-form__status p.contact-form__status--error svg{flex-shrink:0;width:20px;height:20px;margin-top:1px}[data-theme=dark] .contact-form__status p.contact-form__status--error{background-color:#b91c1c2e;border-color:#f8717180;color:#fca5a5}.contact-form{display:flex;flex-direction:column;gap:var(--space-5)}.contact-form__row{display:grid;gap:var(--space-5)}@media(min-width:640px){.contact-form__row{grid-template-columns:1fr 1fr}}.contact-form__field{display:flex;flex-direction:column;gap:6px}.contact-form__label{font-size:.875rem;font-weight:600;color:var(--color-text)}.contact-form__input{width:100%;padding:.625rem .75rem;border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:.95rem;transition:border-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out)}.contact-form__input::-moz-placeholder{color:var(--color-text-muted);opacity:.7}.contact-form__input::placeholder{color:var(--color-text-muted);opacity:.7}.contact-form__input:focus{outline:none;border-color:var(--color-brand-gold);box-shadow:0 0 0 3px #b89a302e}.contact-form__input[aria-invalid=true]{border-color:#b91c1c}.contact-form__textarea{resize:vertical;min-height:140px;line-height:1.6}.contact-form__hint{font-size:.8rem;color:var(--color-text-muted)}.contact-form__file{display:flex;align-items:center;gap:var(--space-3);padding:.75rem 1rem;border:1px dashed var(--color-border);border-radius:8px;background-color:var(--color-surface);color:var(--color-text-muted);font-size:.95rem;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.contact-form__file:hover{border-color:var(--color-brand-gold);color:var(--color-text)}.contact-form__file:focus-within{border-color:var(--color-brand-gold);box-shadow:0 0 0 3px #b89a302e}.contact-form__file[aria-invalid=true]{border-color:#b91c1c}.contact-form__file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.contact-form__file-icon{width:20px;height:20px;flex-shrink:0;color:var(--color-brand-gold)}.contact-form__attachment{display:flex;align-items:center;gap:var(--space-3);padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-surface)}.contact-form__attachment-icon{width:20px;height:20px;flex-shrink:0;color:var(--color-brand-gold)}.contact-form__attachment-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.contact-form__attachment-name{font-size:.95rem;font-weight:600;color:var(--color-text);overflow-wrap:anywhere}.contact-form__attachment-meta{font-size:.8rem;color:var(--color-text-muted)}.contact-form__attachment-remove{padding:.375rem .75rem;border:1px solid var(--color-border);border-radius:6px;background-color:transparent;color:var(--color-text-muted);font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}.contact-form__attachment-remove:hover{border-color:#b91c1c;color:#b91c1c}.contact-form__error{margin:0;font-size:.85rem;color:#b91c1c}[data-theme=dark] .contact-form__error{color:#fca5a5}.contact-form__checkbox{display:flex;align-items:flex-start;gap:var(--space-3);font-size:.9rem;line-height:1.5;color:var(--color-text-muted);cursor:pointer}.contact-form__checkbox input{margin-top:3px;width:16px;height:16px;accent-color:var(--color-brand-gold)}.contact-form__checkbox a{color:var(--color-brand-navy);text-decoration:underline}[data-theme=dark] .contact-form__checkbox a{color:var(--color-brand-gold)}.contact-form__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.contact-form__actions-note{margin:calc(-1 * var(--space-2)) 0 0;font-size:.8rem;color:var(--color-text-muted)}.contact-form__submit{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-width:200px;padding:.75rem 1.5rem;border:1px solid var(--color-brand-gold);border-radius:8px;background-color:var(--color-brand-gold);color:var(--color-brand-navy);font-family:var(--font-headings);font-size:.95rem;font-weight:700;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.contact-form__submit--book{background-color:transparent;color:var(--color-brand-navy)}[data-theme=dark] .contact-form__submit--book{color:var(--color-brand-gold)}.contact-form__submit:hover:not(:disabled){background-color:#9a7e22;border-color:#9a7e22;color:#fff}.contact-form__submit--book:hover:not(:disabled){background-color:#b89a301f;border-color:var(--color-brand-gold);color:var(--color-brand-navy)}[data-theme=dark] .contact-form__submit--book:hover:not(:disabled){color:var(--color-brand-gold)}.contact-form__submit:disabled{cursor:not-allowed;opacity:.6}.contact-form__spinner{width:14px;height:14px;border:2px solid rgba(13,27,42,.35);border-top-color:currentColor;border-radius:50%;animation:contact-form-spin .7s linear infinite}@keyframes contact-form-spin{to{transform:rotate(360deg)}}.contact-form__honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact-form__success{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);padding:var(--space-8);border:1px solid var(--color-border);border-radius:12px;background-color:var(--color-bg)}.contact-form__success-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background-color:#dcfce7;color:#15803d}[data-theme=dark] .contact-form__success-icon{background-color:#22c55e26;color:#4ade80}.contact-form__success-icon svg{width:28px;height:28px}.contact-form__success h3{margin:0}.contact-form__success h3:focus{outline:none}.contact-form__success p{margin:0;max-width:42rem;line-height:1.65}.contact-form__success-link{display:inline-flex;padding:.625rem 1.25rem;border:1px solid var(--color-brand-gold);border-radius:8px;background-color:var(--color-brand-gold);color:var(--color-brand-navy);font-weight:700;text-decoration:none;transition:background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}.contact-form__success-link:hover{background-color:#9a7e22;color:#fff}.contact-form__success-reset{padding:0;border:0;border-radius:0;background-color:transparent;color:var(--color-brand-navy);font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer;transition:color var(--motion-fast) var(--ease-out)}.contact-form__success-reset:hover{color:var(--color-brand-gold)}.contact-form__success-reset:focus-visible{outline:2px solid var(--color-brand-gold);outline-offset:2px;border-radius:2px}[data-theme=dark] .contact-form__success-reset{color:var(--color-brand-gold)}[data-theme=dark] .contact-form__success-reset:hover{color:#fff}
