.contact-wrapper{width:100%}.contact-form{background:var(--contact-surface-raised,var(--theme-surface-raised));border:1px solid var(--theme-border);box-shadow:0 4px 20px var(--theme-shadow-soft);border-radius:4px;flex-direction:column;gap:1.25rem;padding:2rem 1.5rem;display:flex}.form-title{font-family:var(--font-heading), var(--font-heading-fallback);letter-spacing:.02em;color:var(--contact-text,var(--theme-text-secondary));margin:0;font-size:clamp(1.5rem,3vw,2rem);font-weight:500}.form-desc{color:var(--contact-muted,var(--theme-muted));margin:0 0 .5rem;font-size:.95rem;line-height:1.6}.form-row{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:600px){.form-row{grid-template-columns:1fr 1fr;gap:1.25rem}}.contact-form input,.contact-form textarea{background:var(--theme-input-bg);border:1px solid var(--theme-border-strong);color:var(--contact-text,var(--theme-text-secondary));width:100%;padding:1rem 1.1rem;font-family:inherit;font-size:1rem;transition:border-color .3s,background .3s,box-shadow .3s}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--contact-gold,var(--theme-accent));background:var(--theme-input-bg);box-shadow:0 0 0 3px var(--theme-accent-soft);outline:none}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--theme-placeholder);font-weight:400}.contact-form textarea{resize:vertical;min-height:140px}.contact-form button{background:var(--contact-gold,var(--theme-accent));color:var(--theme-text-on-accent);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:none;align-self:flex-start;margin-top:.5rem;padding:.9rem 2.5rem;font-size:.8rem;font-weight:600;transition:background .3s,transform .25s,letter-spacing .3s}.contact-form button:hover:not(:disabled){background:var(--theme-accent-hover);letter-spacing:.16em;transform:translateY(-2px)}.contact-form button:disabled{background:var(--theme-disabled-bg);color:var(--theme-disabled-text);cursor:not-allowed}.status-message{margin:0;font-size:.95rem}.status-message.success{color:var(--theme-success)}.status-message.error{color:var(--theme-error)}
