.contact-form{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:var(--space-md);max-width:600px;margin:0 auto;padding:var(--card-padding);background:linear-gradient(165deg,rgba(255,255,255,.09),rgba(255,255,255,.06));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border-strong);border-radius:.75rem;box-shadow:0 14px 34px rgba(0,0,0,.28)}.contact-form:before{inset:0;background:radial-gradient(76% 54% at 90% 0,rgba(213,179,106,.18) 0,rgba(213,179,106,0) 68%),radial-gradient(52% 38% at 8% 94%,rgba(213,179,106,.1) 0,rgba(213,179,106,0) 76%)}.contact-form:after,.contact-form:before{content:"";position:absolute;pointer-events:none}.contact-form:after{top:0;left:var(--space-sm);right:var(--space-sm);height:1px;background:linear-gradient(90deg,rgba(213,179,106,0),rgba(213,179,106,.32) 24%,rgba(213,179,106,.32) 76%,rgba(213,179,106,0))}.form-group{position:relative;z-index:1;display:flex;flex-direction:column;gap:var(--space-xs)}.form-group:focus-within{outline:none}.contact-form label{display:block;font-weight:600;letter-spacing:.01em;color:var(--color-text);font-size:.95rem}.contact-form label.required:before{content:""}.optional{font-weight:400;color:var(--color-text-subtle);font-size:.85rem}.contact-form input,.contact-form textarea{width:100%;padding:calc(var(--space-sm) - (var(--space-xs) / 2));border:1px solid var(--color-border-strong);border-radius:.25rem;background-color:var(--color-surface-subtle);color:var(--color-text);font-size:1rem;font-family:inherit;transition:all .2s ease;min-height:44px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--color-text-soft)}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--color-accent);background-color:var(--color-surface);box-shadow:0 0 0 2px var(--color-border-accent)}.contact-form input:disabled,.contact-form textarea:disabled{background-color:var(--color-surface-subtle);color:var(--color-text-soft);cursor:not-allowed}.contact-form input.error,.contact-form textarea.error{border-color:var(--color-error);background-color:var(--color-error-bg)}.contact-form input.error:focus,.contact-form textarea.error:focus{box-shadow:0 0 0 2px var(--color-error)}.contact-form textarea{resize:vertical;min-height:132px}.error-message{display:block;font-size:.825rem;color:var(--color-error);margin-top:calc(var(--space-xs) / 2)}.form-status{position:relative;z-index:1;padding:var(--space-sm);border-radius:.5rem;font-size:.95rem;margin-bottom:var(--space-xs);border-left:4px solid}.form-status-success{background-color:var(--color-success-bg);border-left-color:var(--color-success);color:var(--color-success)}.form-status-error{background-color:var(--color-error-bg-strong);border-left-color:var(--color-error);color:var(--color-error)}.form-status-loading{background-color:var(--color-info-bg);border-left-color:var(--color-info);color:var(--color-info)}.form-submit{position:relative;z-index:1;align-self:center;min-width:220px;padding:calc(var(--space-sm) - (var(--space-xs) / 2)) var(--space-md);min-height:48px;border:2px solid var(--color-ui);border-radius:999px;background:linear-gradient(135deg,rgba(47,59,50,1),rgba(67,84,70,1));color:var(--color-on-ui);font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;margin-top:calc(var(--space-sm) - (var(--space-xs) / 2));box-shadow:0 0 0 1px rgba(213,179,106,.14),0 8px 20px rgba(0,0,0,.26)}.form-submit:hover:not(:disabled){background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);box-shadow:0 0 0 1px rgba(213,179,106,.26),0 10px 24px rgba(0,0,0,.32)}.form-submit:active:not(:disabled){transform:scale(.98)}.form-submit:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.form-submit:disabled{opacity:.6;cursor:not-allowed}@media (min-width:768px){.contact-form{padding:var(--card-padding-lg);gap:var(--space-lg)}.form-submit{min-width:240px}}@media (prefers-contrast:more){.contact-form input,.contact-form textarea{border:2px solid}.contact-form input:focus,.contact-form textarea:focus{box-shadow:0 0 0 3px var(--color-border-accent)}}@media (prefers-reduced-motion:reduce){.contact-form input,.contact-form textarea,.form-submit{transition:none}}