.contact-form-section{margin:var(--spacing-lg) 0 var(--spacing-xl)}.contact-form-frame{background:linear-gradient(180deg,#14243499,#0e1a2666);border:1px solid var(--color-border);border-top:1px solid var(--color-primary);padding:clamp(28px,4vw,56px);position:relative}.contact-form-frame:before{content:"";position:absolute;top:-7px;left:50%;margin-left:-7px;width:14px;height:14px;border:1px solid var(--color-primary);background:var(--color-background);transform:rotate(45deg)}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.form-field{display:flex;flex-direction:column}.form-field--full{grid-column:1 / -1}.form-field label{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.22em;color:var(--color-primary);margin-bottom:10px}.form-field label .optional{color:var(--color-text-muted);letter-spacing:.12em;text-transform:none}.form-field input,.form-field textarea{background:#060d1680;border:1px solid var(--color-border-strong);border-radius:0;padding:14px 16px;font-family:var(--font-serif);font-size:1rem;color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--color-text-muted);font-style:italic}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary),0 0 24px #d4af371f}.form-field textarea{min-height:180px;resize:vertical;line-height:1.6}.sf-select{position:relative}.sf-select-toggle{background:#060d1680;border:1px solid var(--color-border-strong);border-radius:0;padding:14px 44px 14px 16px;font-family:var(--font-serif);font-size:1rem;color:var(--color-text-muted);width:100%;text-align:left;cursor:pointer;position:relative;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);font-style:italic}.sf-select-toggle.has-value{color:var(--color-text-primary);font-style:normal}.sf-select-toggle:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary),0 0 24px #d4af371f}.sf-select-toggle:after{content:"";position:absolute;right:18px;top:50%;width:8px;height:8px;border-right:1px solid var(--color-primary);border-bottom:1px solid var(--color-primary);transform:translateY(-70%) rotate(45deg);transition:transform var(--transition-fast)}.sf-select.open .sf-select-toggle:after{transform:translateY(-30%) rotate(-135deg)}.sf-select-menu{position:absolute;top:calc(100% - 1px);left:0;right:0;background:var(--color-surface-darker);border:1px solid var(--color-primary);z-index:30;display:none;box-shadow:var(--shadow-lg),var(--shadow-gold);max-height:320px;overflow-y:auto}.sf-select.open .sf-select-menu{display:block}.sf-select-menu [role=option]{padding:13px 16px;font-family:var(--font-serif);font-size:.98rem;color:var(--color-text-secondary);cursor:pointer;border-bottom:1px solid var(--color-border);transition:background var(--transition-fast),color var(--transition-fast)}.sf-select-menu [role=option]:last-child{border-bottom:none}.sf-select-menu [role=option]:hover,.sf-select-menu [role=option].focused{background:var(--color-accent-light);color:var(--color-text-primary)}.sf-select-menu [role=option][aria-selected=true]{color:var(--color-primary)}.sf-select-menu [role=option][aria-selected=true]:before{content:"— ";color:var(--color-primary)}.contact-form-actions{grid-column:1 / -1;display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.contact-form-actions .btn[disabled]{opacity:.55;cursor:wait;transform:none}.form-status{display:none;font-family:var(--font-serif);font-size:.98rem;line-height:1.5;padding:12px 18px;border-left:2px solid var(--color-primary)}.form-status--success{display:block;color:var(--color-text-primary);background:#d4af3712;border-left-color:var(--color-primary)}.form-status--error{display:block;color:#e8b4a8;background:#b246321a;border-left-color:#b24632}@media(max-width:720px){.contact-form-grid{grid-template-columns:1fr}.contact-form-frame{padding:var(--spacing-md) var(--spacing-sm)}}
